Mercurial > hg > vamp-build-and-test
comparison DEPENDENCIES/generic/include/boost/fusion/sequence/intrinsic/begin.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 |
---|---|
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
6 ==============================================================================*/ | 6 ==============================================================================*/ |
7 #if !defined(FUSION_BEGIN_04052005_1132) | 7 #if !defined(FUSION_BEGIN_04052005_1132) |
8 #define FUSION_BEGIN_04052005_1132 | 8 #define FUSION_BEGIN_04052005_1132 |
9 | 9 |
10 #include <boost/blank.hpp> | 10 #include <boost/fusion/support/config.hpp> |
11 #include <boost/utility/enable_if.hpp> | 11 #include <boost/utility/enable_if.hpp> |
12 #include <boost/mpl/empty_base.hpp> | |
12 #include <boost/mpl/if.hpp> | 13 #include <boost/mpl/if.hpp> |
13 #include <boost/fusion/sequence/intrinsic_fwd.hpp> | 14 #include <boost/fusion/sequence/intrinsic_fwd.hpp> |
14 #include <boost/fusion/support/tag_of.hpp> | 15 #include <boost/fusion/support/tag_of.hpp> |
15 #include <boost/fusion/support/is_sequence.hpp> | 16 #include <boost/fusion/support/is_sequence.hpp> |
16 #include <boost/fusion/support/is_segmented.hpp> | 17 #include <boost/fusion/support/is_segmented.hpp> |
33 template <typename Sequence> | 34 template <typename Sequence> |
34 struct apply | 35 struct apply |
35 : mpl::if_< | 36 : mpl::if_< |
36 traits::is_segmented<Sequence> | 37 traits::is_segmented<Sequence> |
37 , detail::segmented_begin<Sequence> | 38 , detail::segmented_begin<Sequence> |
38 , blank | 39 , mpl::empty_base |
39 >::type | 40 >::type |
40 {}; | 41 {}; |
41 }; | 42 }; |
42 | 43 |
43 template <> | 44 template <> |
68 template apply<Sequence> | 69 template apply<Sequence> |
69 {}; | 70 {}; |
70 } | 71 } |
71 | 72 |
72 template <typename Sequence> | 73 template <typename Sequence> |
74 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
73 inline typename | 75 inline typename |
74 lazy_enable_if< | 76 lazy_enable_if< |
75 traits::is_sequence<Sequence> | 77 traits::is_sequence<Sequence> |
76 , result_of::begin<Sequence> | 78 , result_of::begin<Sequence> |
77 >::type const | 79 >::type const |
79 { | 81 { |
80 return result_of::begin<Sequence>::call(seq); | 82 return result_of::begin<Sequence>::call(seq); |
81 } | 83 } |
82 | 84 |
83 template <typename Sequence> | 85 template <typename Sequence> |
86 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED | |
84 inline typename | 87 inline typename |
85 lazy_enable_if< | 88 lazy_enable_if< |
86 traits::is_sequence<Sequence> | 89 traits::is_sequence<Sequence> |
87 , result_of::begin<Sequence const> | 90 , result_of::begin<Sequence const> |
88 >::type const | 91 >::type const |