comparison DEPENDENCIES/generic/include/boost/fusion/sequence/intrinsic/end.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_END_04052005_1141) 7 #if !defined(FUSION_END_04052005_1141)
8 #define FUSION_END_04052005_1141 8 #define FUSION_END_04052005_1141
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_end<Sequence> 38 , detail::segmented_end<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::end<Sequence> 78 , result_of::end<Sequence>
77 >::type const 79 >::type const
79 { 81 {
80 return result_of::end<Sequence>::call(seq); 82 return result_of::end<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::end<Sequence const> 90 , result_of::end<Sequence const>
88 >::type const 91 >::type const