Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:34:40

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_END_IMPL_05042005_1142)
0008 #define FUSION_END_IMPL_05042005_1142
0009 
0010 #include <boost/fusion/support/config.hpp>
0011 #include <boost/fusion/container/vector/vector_iterator.hpp>
0012 
0013 namespace boost { namespace fusion
0014 {
0015     struct vector_tag;
0016 
0017     namespace extension
0018     {
0019         template <typename Tag>
0020         struct end_impl;
0021 
0022         template <>
0023         struct end_impl<vector_tag>
0024         {
0025             template <typename Sequence>
0026             struct apply
0027             {
0028                 typedef typename Sequence::size size;
0029                 typedef vector_iterator<Sequence, size::value> type;
0030 
0031                 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0032                 static type
0033                 call(Sequence& v)
0034                 {
0035                     return type(v);
0036                 }
0037             };
0038         };
0039     }
0040 }}
0041 
0042 #endif