diff --git a/include/boost/fusion/container/vector/vector.hpp b/include/boost/fusion/container/vector/vector.hpp index 3f9d52ec..b330b3a2 100644 --- a/include/boost/fusion/container/vector/vector.hpp +++ b/include/boost/fusion/container/vector/vector.hpp @@ -276,21 +276,6 @@ namespace boost { namespace fusion // template // struct SomeClass, T>> // { ... }; - template - struct vector_data, numbered_vector_tag, T...> - : vector_data::type, T...> - { - typedef vector_data::type, T...> base; - - BOOST_STATIC_ASSERT((base::size::value == N)); - - template - BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED - vector_data(U&&... var) - : base(std::forward(var)...) - {} - }; - template struct construct_vector_; @@ -303,6 +288,17 @@ namespace boost { namespace fusion > type; }; + template + struct construct_vector_, T...> > + { + typedef vector_data< + typename detail::make_index_sequence::type + , T... + > type; + + BOOST_STATIC_ASSERT((type::size::value == N)); + }; + template struct construct_vector_, void_, Tail...> : construct_vector_ > {};