summaryrefslogtreecommitdiff
path: root/src/third_party/boost-1.69.0/boost/fusion/sequence/comparison/not_equal_to.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/boost-1.69.0/boost/fusion/sequence/comparison/not_equal_to.hpp')
-rw-r--r--src/third_party/boost-1.69.0/boost/fusion/sequence/comparison/not_equal_to.hpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/third_party/boost-1.69.0/boost/fusion/sequence/comparison/not_equal_to.hpp b/src/third_party/boost-1.69.0/boost/fusion/sequence/comparison/not_equal_to.hpp
new file mode 100644
index 00000000000..fc2fef3343f
--- /dev/null
+++ b/src/third_party/boost-1.69.0/boost/fusion/sequence/comparison/not_equal_to.hpp
@@ -0,0 +1,58 @@
+/*=============================================================================
+ Copyright (c) 1999-2003 Jaakko Jarvi
+ Copyright (c) 2001-2011 Joel de Guzman
+
+ Distributed under the Boost Software License, Version 1.0. (See accompanying
+ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
+==============================================================================*/
+#if !defined(FUSION_NOT_EQUAL_TO_05052005_0431)
+#define FUSION_NOT_EQUAL_TO_05052005_0431
+
+#include <boost/fusion/support/config.hpp>
+#include <boost/fusion/sequence/intrinsic/begin.hpp>
+#include <boost/fusion/sequence/intrinsic/end.hpp>
+#include <boost/fusion/sequence/intrinsic/size.hpp>
+#include <boost/fusion/sequence/comparison/enable_comparison.hpp>
+
+#if defined(FUSION_DIRECT_OPERATOR_USAGE)
+#include <boost/fusion/sequence/comparison/detail/not_equal_to.hpp>
+#else
+#include <boost/fusion/sequence/comparison/equal_to.hpp>
+#endif
+
+namespace boost { namespace fusion
+{
+ template <typename Seq1, typename Seq2>
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ inline bool
+ not_equal_to(Seq1 const& a, Seq2 const& b)
+ {
+#if defined(FUSION_DIRECT_OPERATOR_USAGE)
+ return result_of::size<Seq1>::value != result_of::size<Seq2>::value
+ || detail::sequence_not_equal_to<
+ Seq1 const, Seq2 const
+ , result_of::size<Seq1>::value == result_of::size<Seq2>::value>::
+ call(fusion::begin(a), fusion::begin(b));
+#else
+ return !(a == b);
+#endif
+ }
+
+ namespace operators
+ {
+ template <typename Seq1, typename Seq2>
+ BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
+ inline typename
+ boost::enable_if<
+ traits::enable_equality<Seq1, Seq2>
+ , bool
+ >::type
+ operator!=(Seq1 const& a, Seq2 const& b)
+ {
+ return fusion::not_equal_to(a, b);
+ }
+ }
+ using operators::operator!=;
+}}
+
+#endif