File indexing completed on 2025-01-31 09:41:55
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED)
0009 #define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED
0010
0011 #include <boost/fusion/support/config.hpp>
0012 #include <boost/fusion/sequence/intrinsic/end.hpp>
0013 #include <boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp>
0014
0015 namespace boost { namespace fusion
0016 {
0017 struct repetitive_view_tag;
0018
0019 template <typename Sequence, typename Pos>
0020 struct repetitive_view_iterator;
0021
0022 namespace extension
0023 {
0024 template<typename Tag>
0025 struct end_impl;
0026
0027 template<>
0028 struct end_impl<repetitive_view_tag>
0029 {
0030 template<typename View>
0031 struct apply
0032 {
0033 typedef typename View::sequence_type sequence_type;
0034
0035 typedef repetitive_view_iterator<sequence_type,
0036 typename result_of::end<sequence_type>::type > type;
0037
0038 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
0039 static type call(View const& v)
0040 {
0041 return type(v.seq,end(v.seq));
0042 }
0043 };
0044 };
0045
0046 }
0047
0048 }}
0049
0050 #endif
0051