diff options
Diffstat (limited to 'boost/fusion/view/filter_view')
6 files changed, 17 insertions, 8 deletions
diff --git a/boost/fusion/view/filter_view/detail/begin_impl.hpp b/boost/fusion/view/filter_view/detail/begin_impl.hpp index 89f67d02ad..3ce439a41f 100644 --- a/boost/fusion/view/filter_view/detail/begin_impl.hpp +++ b/boost/fusion/view/filter_view/detail/begin_impl.hpp @@ -31,7 +31,7 @@ namespace boost { namespace fusion typedef typename Sequence::category category; typedef filter_iterator<category, first_type, last_type, pred_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/boost/fusion/view/filter_view/detail/deref_data_impl.hpp index ba8631f501..e0d9a0edb0 100644 --- a/boost/fusion/view/filter_view/detail/deref_data_impl.hpp +++ b/boost/fusion/view/filter_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/filter_view/detail/end_impl.hpp b/boost/fusion/view/filter_view/detail/end_impl.hpp index fee9f6d459..1a2a5ba48d 100644 --- a/boost/fusion/view/filter_view/detail/end_impl.hpp +++ b/boost/fusion/view/filter_view/detail/end_impl.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion typedef typename Sequence::category category; typedef filter_iterator<category,last_type, last_type, pred_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Sequence& s) { diff --git a/boost/fusion/view/filter_view/detail/next_impl.hpp b/boost/fusion/view/filter_view/detail/next_impl.hpp index 0091e897ea..4f17455766 100644 --- a/boost/fusion/view/filter_view/detail/next_impl.hpp +++ b/boost/fusion/view/filter_view/detail/next_impl.hpp @@ -63,7 +63,7 @@ namespace boost { namespace fusion category, typename filter::type, last_type, pred_type> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(Iterator const& i) { diff --git a/boost/fusion/view/filter_view/filter_view.hpp b/boost/fusion/view/filter_view/filter_view.hpp index dd710fabd1..db61cad60e 100644 --- a/boost/fusion/view/filter_view/filter_view.hpp +++ b/boost/fusion/view/filter_view/filter_view.hpp @@ -46,14 +46,14 @@ namespace boost { namespace fusion typedef typename result_of::end<Sequence>::type last_type; typedef Pred pred_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED filter_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/filter_view/filter_view_iterator.hpp b/boost/fusion/view/filter_view/filter_view_iterator.hpp index 14aaa46005..f1b9f54de3 100644 --- a/boost/fusion/view/filter_view/filter_view_iterator.hpp +++ b/boost/fusion/view/filter_view/filter_view_iterator.hpp @@ -55,7 +55,7 @@ namespace boost { namespace fusion typedef last_iter last_type; typedef Pred pred_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED filter_iterator(First const& in_first) : first(filter::iter_call(first_converter::call(in_first))) {} @@ -67,6 +67,15 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template <typename Category, typename First, typename Last, typename Pred> + struct iterator_traits< ::boost::fusion::filter_iterator<Category, First, Last, Pred> > + { }; +} +#endif + #endif |