Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/fusion/sequence/comparison/detail/less_equal.hpp @ 101:c530137014c0
Update Boost headers (1.58.0)
author | Chris Cannam |
---|---|
date | Mon, 07 Sep 2015 11:12:49 +0100 |
parents | 2665513ce2d3 |
children |
comparison
equal
deleted
inserted
replaced
100:793467b5e61c | 101:c530137014c0 |
---|---|
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | 6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
7 ==============================================================================*/ | 7 ==============================================================================*/ |
8 #if !defined(FUSION_LESS_EQUAL_05052005_1141) | 8 #if !defined(FUSION_LESS_EQUAL_05052005_1141) |
9 #define FUSION_LESS_EQUAL_05052005_1141 | 9 #define FUSION_LESS_EQUAL_05052005_1141 |
10 | 10 |
11 #include <boost/fusion/support/config.hpp> | |
11 #include <boost/mpl/bool.hpp> | 12 #include <boost/mpl/bool.hpp> |
12 #include <boost/fusion/iterator/deref.hpp> | 13 #include <boost/fusion/iterator/deref.hpp> |
13 #include <boost/fusion/iterator/next.hpp> | 14 #include <boost/fusion/iterator/next.hpp> |
14 #include <boost/fusion/iterator/equal_to.hpp> | 15 #include <boost/fusion/iterator/equal_to.hpp> |
15 #include <boost/fusion/support/as_const.hpp> | 16 #include <boost/fusion/support/as_const.hpp> |
21 { | 22 { |
22 typedef typename result_of::end<Seq1>::type end1_type; | 23 typedef typename result_of::end<Seq1>::type end1_type; |
23 typedef typename result_of::end<Seq2>::type end2_type; | 24 typedef typename result_of::end<Seq2>::type end2_type; |
24 | 25 |
25 template <typename I1, typename I2> | 26 template <typename I1, typename I2> |
27 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
26 static bool | 28 static bool |
27 call(I1 const&, I2 const&, mpl::true_) | 29 call(I1 const&, I2 const&, mpl::true_) |
28 { | 30 { |
29 return true; | 31 return true; |
30 } | 32 } |
31 | 33 |
32 template <typename I1, typename I2> | 34 template <typename I1, typename I2> |
35 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
33 static bool | 36 static bool |
34 call(I1 const& a, I2 const& b, mpl::false_) | 37 call(I1 const& a, I2 const& b, mpl::false_) |
35 { | 38 { |
36 return extension::as_const(*a) <= extension::as_const(*b) | 39 return extension::as_const(*a) <= extension::as_const(*b) |
37 && (!(extension::as_const(*b) <= extension::as_const(*a)) || | 40 && (!(extension::as_const(*b) <= extension::as_const(*a)) || |
38 call(fusion::next(a), fusion::next(b))); | 41 call(fusion::next(a), fusion::next(b))); |
39 } | 42 } |
40 | 43 |
41 template <typename I1, typename I2> | 44 template <typename I1, typename I2> |
45 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
42 static bool | 46 static bool |
43 call(I1 const& a, I2 const& b) | 47 call(I1 const& a, I2 const& b) |
44 { | 48 { |
45 typename result_of::equal_to<I1, end1_type>::type eq; | 49 typename result_of::equal_to<I1, end1_type>::type eq; |
46 return call(a, b, eq); | 50 return call(a, b, eq); |