File indexing completed on 2025-01-18 09:34:40
0001
0002
0003
0004
0005
0006
0007 #if !defined(FUSION_ADVANCE_IMPL_09172005_1156)
0008 #define FUSION_ADVANCE_IMPL_09172005_1156
0009
0010 namespace boost { namespace fusion
0011 {
0012 struct vector_iterator_tag;
0013
0014 template <typename Vector, int N>
0015 struct vector_iterator;
0016
0017 namespace extension
0018 {
0019 template <typename Tag>
0020 struct advance_impl;
0021
0022 template <>
0023 struct advance_impl<vector_iterator_tag>
0024 {
0025 template <typename Iterator, typename N>
0026 struct apply
0027 {
0028 typedef typename Iterator::index index;
0029 typedef typename Iterator::vector vector;
0030 typedef vector_iterator<vector, index::value+N::value> type;
0031
0032 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0033 static type
0034 call(Iterator const& i)
0035 {
0036 return type(i.vec);
0037 }
0038 };
0039 };
0040 }
0041 }}
0042
0043 #endif