123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED)
- #define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED
- #include <boost/fusion/support/config.hpp>
- #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
|