File indexing completed on 2025-12-16 09:45:46
0001
0002
0003
0004
0005
0006
0007
0008 #ifndef BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP
0009 #define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/type_traits/add_reference.hpp>
0013 #include <boost/type_traits/remove_extent.hpp>
0014
0015 namespace boost { namespace fusion { namespace extension
0016 {
0017 template<typename>
0018 struct at_impl;
0019
0020 template<>
0021 struct at_impl<po_array_tag>
0022 {
0023 template<typename Seq, typename N>
0024 struct apply
0025 {
0026 typedef typename
0027 add_reference<typename remove_extent<Seq>::type>::type
0028 type;
0029
0030 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0031 static type
0032 call(Seq& seq)
0033 {
0034 return seq[N::value];
0035 }
0036 };
0037 };
0038 }}}
0039
0040 #endif