File indexing completed on 2025-01-18 09:33:20
0001
0002
0003
0004
0005
0006
0007 #if !defined(FUSION_CONVERT_09232005_1215)
0008 #define FUSION_CONVERT_09232005_1215
0009
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/fusion/container/list/cons.hpp>
0012 #include <boost/fusion/container/list/detail/build_cons.hpp>
0013 #include <boost/fusion/container/list/detail/convert_impl.hpp>
0014 #include <boost/fusion/sequence/intrinsic/empty.hpp>
0015 #include <boost/fusion/sequence/intrinsic/begin.hpp>
0016 #include <boost/fusion/sequence/intrinsic/end.hpp>
0017
0018 namespace boost { namespace fusion
0019 {
0020 namespace result_of
0021 {
0022 template <typename Sequence>
0023 struct as_list
0024 {
0025 typedef typename
0026 detail::build_cons<
0027 typename result_of::begin<Sequence>::type
0028 , typename result_of::end<Sequence>::type
0029 >
0030 build_cons;
0031
0032 typedef typename build_cons::type type;
0033
0034 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0035 static type
0036 call(Sequence& seq)
0037 {
0038 return build_cons::call(fusion::begin(seq), fusion::end(seq));
0039 }
0040 };
0041 }
0042
0043 template <typename Sequence>
0044 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0045 inline typename result_of::as_list<Sequence>::type
0046 as_list(Sequence& seq)
0047 {
0048 return result_of::as_list<Sequence>::call(seq);
0049 }
0050
0051 template <typename Sequence>
0052 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0053 inline typename result_of::as_list<Sequence const>::type
0054 as_list(Sequence const& seq)
0055 {
0056 return result_of::as_list<Sequence const>::call(seq);
0057 }
0058 }}
0059
0060 #endif