]> git.lyx.org Git - lyx.git/blob - 3rdparty/boost/boost/fusion/iterator/detail/segmented_equal_to.hpp
Update to boost 1.72
[lyx.git] / 3rdparty / boost / boost / fusion / iterator / detail / segmented_equal_to.hpp
1 /*=============================================================================
2     Copyright (c) 2011 Eric Niebler
3
4     Distributed under the Boost Software License, Version 1.0. (See accompanying
5     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7 #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED)
8 #define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED
9
10 #include <boost/fusion/support/config.hpp>
11 #include <boost/mpl/and.hpp>
12 #include <boost/mpl/bool.hpp>
13 #include <boost/fusion/iterator/equal_to.hpp>
14
15 namespace boost { namespace fusion
16 {
17     struct nil_;
18
19     namespace detail
20     {
21         template <typename Stack1, typename Stack2>
22         struct segmented_equal_to
23           : mpl::and_<
24                 segmented_equal_to<
25                     typename Stack1::cdr_type,
26                     typename Stack2::cdr_type
27                 >
28               , result_of::equal_to<
29                     typename Stack1::car_type::begin_type,
30                     typename Stack2::car_type::begin_type
31                 >
32             >
33         {};
34
35         template <>
36         struct segmented_equal_to<fusion::nil_, fusion::nil_>
37           : mpl::true_
38         {};
39     }
40 }}
41
42 #endif