Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-23 09:35:12

0001 /*=============================================================================
0002     Copyright (c) 2005-2013 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(BOOST_FUSION_BUILD_DEQUE_02032013_1921)
0008 #define BOOST_FUSION_BUILD_DEQUE_02032013_1921
0009 
0010 #if defined(BOOST_FUSION_HAS_VARIADIC_DEQUE)
0011 #error "C++03 only! This file should not have been included"
0012 #endif
0013 
0014 #include <boost/fusion/sequence/intrinsic/begin.hpp>
0015 #include <boost/fusion/sequence/intrinsic/size.hpp>
0016 #include <boost/fusion/container/deque/detail/cpp03/as_deque.hpp>
0017 #include <boost/fusion/container/deque/front_extended_deque.hpp>
0018 
0019 namespace boost { namespace fusion
0020 {
0021     namespace result_of
0022     {
0023         template <typename Sequence>
0024         struct as_deque
0025             : detail::as_deque<result_of::size<Sequence>::value>
0026         {
0027             typedef typename
0028                 detail::as_deque<result_of::size<Sequence>::value>
0029             gen;
0030             typedef typename gen::
0031                 template apply<typename result_of::begin<Sequence>::type>::type
0032             type;
0033         };
0034     }
0035 
0036     template <typename Sequence>
0037     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0038     inline typename result_of::as_deque<Sequence>::type
0039     as_deque(Sequence& seq)
0040     {
0041         typedef typename result_of::as_deque<Sequence>::gen gen;
0042         return gen::call(fusion::begin(seq));
0043     }
0044 
0045     template <typename Sequence>
0046     BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0047     inline typename result_of::as_deque<Sequence const>::type
0048     as_deque(Sequence const& seq)
0049     {
0050         typedef typename result_of::as_deque<Sequence const>::gen gen;
0051         return gen::call(fusion::begin(seq));
0052     }
0053 }}
0054 
0055 #endif