File indexing completed on 2025-01-18 09:34:59
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM)
0009 #define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/mpl/int.hpp>
0013 #include <boost/mpl/assert.hpp>
0014 #include <boost/mpl/equal_to.hpp>
0015
0016 namespace boost { namespace fusion
0017 {
0018 struct single_view_tag;
0019
0020 namespace extension
0021 {
0022 template<typename Tag>
0023 struct at_impl;
0024
0025 template<>
0026 struct at_impl<single_view_tag>
0027 {
0028 template<typename Sequence, typename N>
0029 struct apply
0030 {
0031 BOOST_MPL_ASSERT((mpl::equal_to<N, mpl::int_<0> >));
0032 typedef typename Sequence::value_type type;
0033
0034 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0035 static type
0036 call(Sequence& seq)
0037 {
0038 return seq.val;
0039 }
0040 };
0041 };
0042 }
0043
0044 }}
0045
0046 #endif