Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:33:20

0001 /*=============================================================================
0002     Copyright (c) 2001-2011 Joel de Guzman
0003 
0004     Distributed under the Boost Software License, Version 1.0. (See accompanying
0005     file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
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