File indexing completed on 2025-12-16 09:49:28
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(FUSION_EQUAL_TO_05052005_0431)
0009 #define FUSION_EQUAL_TO_05052005_0431
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/fusion/sequence/intrinsic/begin.hpp>
0013 #include <boost/fusion/sequence/intrinsic/end.hpp>
0014 #include <boost/fusion/sequence/intrinsic/size.hpp>
0015 #include <boost/fusion/sequence/comparison/detail/equal_to.hpp>
0016 #include <boost/fusion/sequence/comparison/enable_comparison.hpp>
0017 #include <boost/config.hpp>
0018
0019 #if defined (BOOST_MSVC)
0020 # pragma warning(push)
0021 # pragma warning (disable: 4100)
0022 #endif
0023
0024 namespace boost { namespace fusion
0025 {
0026 template <typename Seq1, typename Seq2>
0027 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0028 inline bool
0029 equal_to(Seq1 const& a, Seq2 const& b)
0030 {
0031 return result_of::size<Seq1>::value == result_of::size<Seq2>::value
0032 && detail::sequence_equal_to<
0033 Seq1 const, Seq2 const
0034 , result_of::size<Seq1>::value == result_of::size<Seq2>::value>::
0035 call(fusion::begin(a), fusion::begin(b));
0036 }
0037
0038 namespace operators
0039 {
0040 template <typename Seq1, typename Seq2>
0041 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0042 inline typename
0043 boost::enable_if<
0044 traits::enable_equality<Seq1, Seq2>
0045 , bool
0046 >::type
0047 operator==(Seq1 const& a, Seq2 const& b)
0048 {
0049 return fusion::equal_to(a, b);
0050 }
0051 }
0052 using operators::operator==;
0053 }}
0054
0055 #if defined (BOOST_MSVC)
0056 # pragma warning(pop)
0057 #endif
0058
0059 #endif