diff options
Diffstat (limited to 'boost/fusion/iterator/basic_iterator.hpp')
-rw-r--r-- | boost/fusion/iterator/basic_iterator.hpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/boost/fusion/iterator/basic_iterator.hpp b/boost/fusion/iterator/basic_iterator.hpp index bab6a4a6a8..eae46e6355 100644 --- a/boost/fusion/iterator/basic_iterator.hpp +++ b/boost/fusion/iterator/basic_iterator.hpp @@ -77,7 +77,7 @@ namespace boost { namespace fusion basic_iterator<Tag, Category, Seq, Index + N::value> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It const& it) { @@ -100,7 +100,7 @@ namespace boost { namespace fusion { typedef mpl::minus<typename It2::index, typename It1::index> type; - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type call(It1 const&, It2 const&) @@ -121,18 +121,18 @@ namespace boost { namespace fusion {}; template<typename OtherSeq> - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(basic_iterator<Tag,Category,OtherSeq,Index> const& it) : seq(it.seq) {} - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator(Seq& in_seq, int) : seq(&in_seq) {} template<typename OtherSeq> - BOOST_FUSION_GPU_ENABLED + BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED basic_iterator& operator=(basic_iterator<Tag,Category,OtherSeq,Index> const& it) { @@ -144,4 +144,13 @@ namespace boost { namespace fusion }; }} +#ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 +namespace std +{ + template <typename Tag, typename Category, typename Seq, int Index> + struct iterator_traits< ::boost::fusion::basic_iterator<Tag, Category, Seq, Index> > + { }; +} +#endif + #endif |