From 1f8ccd7bc316d817cdee01a6185c993dd2267c20 Mon Sep 17 00:00:00 2001 From: Kohei Takahashi Date: Sun, 28 Jun 2015 13:46:56 +0900 Subject: [PATCH] Support move for make_vector. --- .../boost/fusion/container/generation/make_vector.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/boost/fusion/container/generation/make_vector.hpp b/include/boost/fusion/container/generation/make_vector.hpp index df63ded6..1c8a86c8 100644 --- a/include/boost/fusion/container/generation/make_vector.hpp +++ b/include/boost/fusion/container/generation/make_vector.hpp @@ -19,6 +19,8 @@ /////////////////////////////////////////////////////////////////////////////// #include +#include +#include namespace boost { namespace fusion { @@ -47,7 +49,9 @@ namespace boost { namespace fusion typedef typename trim_void< vector<> - , typename detail::as_fusion_element::type... + , typename detail::as_fusion_element< + typename remove_reference::type + >::type... >::type type; }; @@ -56,9 +60,9 @@ namespace boost { namespace fusion template BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::make_vector::type - make_vector(T const&... arg) + make_vector(T&&... arg) { - return typename result_of::make_vector::type(arg...); + return typename result_of::make_vector::type(std::forward(arg)...); } }}