File indexing completed on 2025-12-16 09:45:46
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP
0009 #define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/fusion/iterator/basic_iterator.hpp>
0013 #include <boost/type_traits/rank.hpp>
0014 #include <boost/type_traits/extent.hpp>
0015
0016 namespace boost { namespace fusion { namespace extension
0017 {
0018 template <typename>
0019 struct end_impl;
0020
0021 template <>
0022 struct end_impl<po_array_tag>
0023 {
0024 template <typename Seq>
0025 struct apply
0026 {
0027 typedef
0028 basic_iterator<
0029 po_array_iterator_tag
0030 , random_access_traversal_tag
0031 , Seq
0032 , extent<Seq,rank<Seq>::value-1>::value
0033 >
0034 type;
0035
0036 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0037 static type
0038 call(Seq& seq)
0039 {
0040 return type(seq,0);
0041 }
0042 };
0043 };
0044 }}}
0045
0046 #endif