diff options
Diffstat (limited to 'boost/fusion/view/transform_view/transform_view_iterator.hpp')
-rw-r--r-- | boost/fusion/view/transform_view/transform_view_iterator.hpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/boost/fusion/view/transform_view/transform_view_iterator.hpp b/boost/fusion/view/transform_view/transform_view_iterator.hpp index 0762228fca..ab40bd748f 100644 --- a/boost/fusion/view/transform_view/transform_view_iterator.hpp +++ b/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion typedef typename traits::category_of<first_type>::type category; typedef F transform_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view_iterator(First const& in_first, F const& in_f) : first(converter::call(in_first)), f(in_f) {} @@ -62,7 +62,7 @@ namespace boost { namespace fusion typedef typename traits::category_of<first1_type>::type category; typedef F transform_type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED transform_view_iterator2(First1 const& in_first1, First2 const& in_first2, F const& in_f) : first1(converter1::call(in_first1)), first2(converter2::call(in_first2)), f(in_f) {} @@ -76,5 +76,17 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template <typename First, typename F> + struct iterator_traits< ::boost::fusion::transform_view_iterator<First, F> > + { }; + template <typename First1, typename First2, typename F> + struct iterator_traits< ::boost::fusion::transform_view_iterator2<First1, First2, F> > + { }; +} +#endif + #endif |