File indexing completed on 2025-01-18 09:31:07
0001
0002
0003
0004
0005
0006
0007 #if !defined(BOOST_FUSION_END_IMPL_09272006_0721)
0008 #define BOOST_FUSION_END_IMPL_09272006_0721
0009
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp>
0012 #include <boost/mpl/if.hpp>
0013 #include <boost/type_traits/is_const.hpp>
0014
0015 namespace boost { namespace tuples
0016 {
0017 struct null_type;
0018 }}
0019
0020 namespace boost { namespace fusion
0021 {
0022 struct boost_tuple_tag;
0023
0024 namespace extension
0025 {
0026 template <typename Tag>
0027 struct end_impl;
0028
0029 template <>
0030 struct end_impl<boost_tuple_tag>
0031 {
0032 template <typename Sequence>
0033 struct apply
0034 {
0035 typedef
0036 boost_tuple_iterator<
0037 typename mpl::if_<
0038 is_const<Sequence>
0039 , tuples::null_type const
0040 , tuples::null_type
0041 >::type
0042 >
0043 type;
0044
0045 BOOST_FUSION_GPU_ENABLED
0046 static type
0047 call(Sequence& seq)
0048 {
0049 return type(seq);
0050 }
0051 };
0052 };
0053 }
0054 }}
0055
0056 #endif