]> git.donarmstrong.com Git - rsem.git/blobdiff - boost/fusion/iterator/detail/segmented_equal_to.hpp
Updated boost to v1.55.0
[rsem.git] / boost / fusion / iterator / detail / segmented_equal_to.hpp
diff --git a/boost/fusion/iterator/detail/segmented_equal_to.hpp b/boost/fusion/iterator/detail/segmented_equal_to.hpp
new file mode 100644 (file)
index 0000000..14982b8
--- /dev/null
@@ -0,0 +1,41 @@
+/*=============================================================================
+    Copyright (c) 2011 Eric Niebler
+
+    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(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED)
+#define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED
+
+#include <boost/mpl/and.hpp>
+#include <boost/mpl/bool.hpp>
+#include <boost/fusion/iterator/equal_to.hpp>
+
+namespace boost { namespace fusion
+{
+    struct nil_;
+
+    namespace detail
+    {
+        template <typename Stack1, typename Stack2>
+        struct segmented_equal_to
+          : mpl::and_<
+                segmented_equal_to<
+                    typename Stack1::cdr_type,
+                    typename Stack2::cdr_type
+                >
+              , result_of::equal_to<
+                    typename Stack1::car_type::begin_type,
+                    typename Stack2::car_type::begin_type
+                >
+            >
+        {};
+
+        template <>
+        struct segmented_equal_to<fusion::nil_, fusion::nil_>
+          : mpl::true_
+        {};
+    }
+}}
+
+#endif