diff --git a/include/boost/fusion/container/vector/vector.hpp b/include/boost/fusion/container/vector/vector.hpp index 92642ec7..f932246a 100644 --- a/include/boost/fusion/container/vector/vector.hpp +++ b/include/boost/fusion/container/vector/vector.hpp @@ -50,8 +50,6 @@ namespace boost { namespace fusion namespace vector_detail { - struct each_elem {}; - template < typename This, typename T, typename T_, std::size_t Size, bool IsSeq > @@ -172,14 +170,14 @@ namespace boost { namespace fusion > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit - vector_data(each_elem, Sequence&& rhs) + vector_data(Sequence&& rhs) : store(forward_at_c(std::forward(rhs)))... {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED explicit - vector_data(each_elem, U&&... var) + vector_data(U&&... var) : store(std::forward(var))... {} @@ -264,7 +262,7 @@ namespace boost { namespace fusion // In the (near) future release, should be fixed. /* BOOST_CONSTEXPR */ BOOST_FUSION_GPU_ENABLED explicit vector(U&&... u) - : base(vector_detail::each_elem(), std::forward(u)...) + : base(std::forward(u)...) {} template < @@ -277,7 +275,7 @@ namespace boost { namespace fusion > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED vector(Sequence&& seq) - : base(vector_detail::each_elem(), std::forward(seq)) + : base(std::forward(seq)) {} template diff --git a/include/boost/fusion/tuple/tuple.hpp b/include/boost/fusion/tuple/tuple.hpp index 16b85511..5a8ca364 100644 --- a/include/boost/fusion/tuple/tuple.hpp +++ b/include/boost/fusion/tuple/tuple.hpp @@ -56,7 +56,7 @@ namespace boost { namespace fusion > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED tuple(tuple const& other) - : base(vector_detail::each_elem(), other) {} + : base(other) {} template < typename ...U @@ -66,7 +66,7 @@ namespace boost { namespace fusion > BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED tuple(tuple&& other) - : base(vector_detail::each_elem(), std::move(other)) {} + : base(std::move(other)) {} template < typename ...U @@ -78,17 +78,17 @@ namespace boost { namespace fusion /*BOOST_CONSTEXPR*/ BOOST_FUSION_GPU_ENABLED explicit tuple(U&&... args) - : base(vector_detail::each_elem(), std::forward(args)...) {} + : base(std::forward(args)...) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED tuple(std::pair const& other) - : base(vector_detail::each_elem(), other.first, other.second) {} + : base(other.first, other.second) {} template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED tuple(std::pair&& other) - : base(vector_detail::each_elem(), std::move(other.first), std::move(other.second)) {} + : base(std::move(other.first), std::move(other.second)) {} template BOOST_CXX14_CONSTEXPR BOOST_FUSION_GPU_ENABLED