diff --git a/include/boost/fusion/container/vector/vector_iterator.hpp b/include/boost/fusion/container/vector/vector_iterator.hpp index 150530d1..f1eaaf74 100644 --- a/include/boost/fusion/container/vector/vector_iterator.hpp +++ b/include/boost/fusion/container/vector/vector_iterator.hpp @@ -41,6 +41,10 @@ namespace boost { namespace fusion vector_iterator(Vector& in_vec) : vec(in_vec) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + vector_iterator(vector_iterator const& rhs) + : vec(rhs.vec) {} + Vector& vec; private: diff --git a/include/boost/fusion/view/filter_view/filter_view.hpp b/include/boost/fusion/view/filter_view/filter_view.hpp index db61cad6..3dd359c7 100644 --- a/include/boost/fusion/view/filter_view/filter_view.hpp +++ b/include/boost/fusion/view/filter_view/filter_view.hpp @@ -51,6 +51,11 @@ namespace boost { namespace fusion : seq(in_seq) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + filter_view(filter_view const& rhs) + : seq(rhs.seq) + {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED first_type first() const { return fusion::begin(seq); } BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED diff --git a/include/boost/fusion/view/filter_view/filter_view_iterator.hpp b/include/boost/fusion/view/filter_view/filter_view_iterator.hpp index 8d77e12e..8233f2c8 100644 --- a/include/boost/fusion/view/filter_view/filter_view_iterator.hpp +++ b/include/boost/fusion/view/filter_view/filter_view_iterator.hpp @@ -59,6 +59,10 @@ namespace boost { namespace fusion filter_iterator(First const& in_first) : first(filter::iter_call(first_converter::call(in_first))) {} + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + filter_iterator(filter_iterator const& rhs) + : first(rhs.first) {} + first_type first; private: