diff options
Diffstat (limited to 'boost/fusion/view/reverse_view')
11 files changed, 22 insertions, 13 deletions
diff --git a/boost/fusion/view/reverse_view/detail/advance_impl.hpp b/boost/fusion/view/reverse_view/detail/advance_impl.hpp index 1304d0a9c2..42b3bd1908 100644 --- a/boost/fusion/view/reverse_view/detail/advance_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/advance_impl.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion { typedef typename result_of::advance<first_type, negative_dist>::type advanced_type; typedef reverse_view_iterator<advanced_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/view/reverse_view/detail/at_impl.hpp b/boost/fusion/view/reverse_view/detail/at_impl.hpp index ebad8f3524..d1fc7715e8 100644 --- a/boost/fusion/view/reverse_view/detail/at_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/at_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion { namespace extension result_of::at<typename Seq::seq_type, real_n>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Seq& seq) { diff --git a/boost/fusion/view/reverse_view/detail/begin_impl.hpp b/boost/fusion/view/reverse_view/detail/begin_impl.hpp index 2f20df57a4..913725ede4 100644 --- a/boost/fusion/view/reverse_view/detail/begin_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/begin_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef reverse_view_iterator<typename Sequence::last_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& s) { diff --git a/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp index 20d381baba..e93b8fba9c 100644 --- a/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp @@ -26,7 +26,7 @@ namespace boost { namespace fusion { namespace extension result_of::deref_data<typename It::first_type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { diff --git a/boost/fusion/view/reverse_view/detail/deref_impl.hpp b/boost/fusion/view/reverse_view/detail/deref_impl.hpp index 530921fe3a..9ea60d812d 100644 --- a/boost/fusion/view/reverse_view/detail/deref_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/deref_impl.hpp @@ -34,7 +34,7 @@ namespace boost { namespace fusion >::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/view/reverse_view/detail/distance_impl.hpp b/boost/fusion/view/reverse_view/detail/distance_impl.hpp index 3a5fdc6114..49436c26b6 100644 --- a/boost/fusion/view/reverse_view/detail/distance_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/distance_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion { typedef typename Last::first_type last_type; typedef typename result_of::distance<last_type, first_type>::type type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(First const& first, Last const& last) { diff --git a/boost/fusion/view/reverse_view/detail/end_impl.hpp b/boost/fusion/view/reverse_view/detail/end_impl.hpp index 1747d64f33..06602c0eda 100644 --- a/boost/fusion/view/reverse_view/detail/end_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/end_impl.hpp @@ -27,7 +27,7 @@ namespace boost { namespace fusion { typedef reverse_view_iterator<typename Sequence::first_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence const& s) { diff --git a/boost/fusion/view/reverse_view/detail/next_impl.hpp b/boost/fusion/view/reverse_view/detail/next_impl.hpp index 1aaa692023..58c1f5f71a 100644 --- a/boost/fusion/view/reverse_view/detail/next_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/next_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion typedef reverse_view_iterator<typename wrapped::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/view/reverse_view/detail/prior_impl.hpp b/boost/fusion/view/reverse_view/detail/prior_impl.hpp index 4007ad4d97..69d18501cd 100644 --- a/boost/fusion/view/reverse_view/detail/prior_impl.hpp +++ b/boost/fusion/view/reverse_view/detail/prior_impl.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion typedef reverse_view_iterator<typename wrapped::type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/view/reverse_view/reverse_view.hpp b/boost/fusion/view/reverse_view/reverse_view.hpp index 3b134d5f26..0a9aca27f1 100644 --- a/boost/fusion/view/reverse_view/reverse_view.hpp +++ b/boost/fusion/view/reverse_view/reverse_view.hpp @@ -50,14 +50,14 @@ namespace boost { namespace fusion bidirectional_traversal_tag , typename traits::category_of<first_type>::type>::value)); - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED reverse_view(Sequence& in_seq) : seq(in_seq) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED last_type last() const { return fusion::end(seq); } typename mpl::if_<traits::is_view<Sequence>, Sequence, Sequence&>::type seq; diff --git a/boost/fusion/view/reverse_view/reverse_view_iterator.hpp b/boost/fusion/view/reverse_view/reverse_view_iterator.hpp index 9de2169ef1..a73e4eeafb 100644 --- a/boost/fusion/view/reverse_view/reverse_view_iterator.hpp +++ b/boost/fusion/view/reverse_view/reverse_view_iterator.hpp @@ -42,7 +42,7 @@ namespace boost { namespace fusion bidirectional_traversal_tag , category>::value)); - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED reverse_view_iterator(First const& in_first) : first(converter::call(in_first)) {} @@ -54,5 +54,14 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template <typename First> + struct iterator_traits< ::boost::fusion::reverse_view_iterator<First> > + { }; +} +#endif + #endif |