Warning, file /include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp was not indexed
or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
0010 #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
0011
0012 #include <boost/fusion/support/config.hpp>
0013 #include <boost/fusion/iterator/deref_data.hpp>
0014 #include <boost/fusion/iterator/prior.hpp>
0015
0016 namespace boost { namespace fusion { namespace extension
0017 {
0018 template <typename>
0019 struct deref_data_impl;
0020
0021 template <>
0022 struct deref_data_impl<reverse_view_iterator_tag>
0023 {
0024 template <typename It>
0025 struct apply
0026 {
0027 typedef typename
0028 result_of::deref_data<
0029 typename result_of::prior<
0030 typename It::first_type
0031 >::type
0032 >::type
0033 type;
0034
0035 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0036 static type
0037 call(It const& it)
0038 {
0039 return fusion::deref_data(fusion::prior(it.first));
0040 }
0041 };
0042 };
0043 }}}
0044
0045 #endif