diff --git a/include/boost/fusion/algorithm/transformation/clear.hpp b/include/boost/fusion/algorithm/transformation/clear.hpp index 75328232..c9f849cb 100644 --- a/include/boost/fusion/algorithm/transformation/clear.hpp +++ b/include/boost/fusion/algorithm/transformation/clear.hpp @@ -16,7 +16,7 @@ namespace boost { namespace fusion template struct clear { - typedef vector0 type; + typedef vector0<> type; }; } @@ -24,7 +24,7 @@ namespace boost { namespace fusion inline typename result_of::clear::type clear(Sequence const& seq) { - return vector0(); + return vector0<>(); } }} diff --git a/include/boost/fusion/container/generation/make_vector.hpp b/include/boost/fusion/container/generation/make_vector.hpp index 264265a6..868ad0ca 100644 --- a/include/boost/fusion/container/generation/make_vector.hpp +++ b/include/boost/fusion/container/generation/make_vector.hpp @@ -32,14 +32,14 @@ namespace boost { namespace fusion template <> struct make_vector<> { - typedef vector0 type; + typedef vector0<> type; }; } - inline vector0 + inline vector0<> make_vector() { - return vector0(); + return vector0<>(); } #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ diff --git a/include/boost/fusion/container/vector/detail/as_vector.hpp b/include/boost/fusion/container/vector/detail/as_vector.hpp index 3cd6d454..a70fd4ae 100644 --- a/include/boost/fusion/container/vector/detail/as_vector.hpp +++ b/include/boost/fusion/container/vector/detail/as_vector.hpp @@ -31,14 +31,14 @@ namespace boost { namespace fusion { namespace detail template struct apply { - typedef vector0 type; + typedef vector0<> type; }; template static typename apply::type call(Iterator) { - return vector0(); + return vector0<>(); } }; diff --git a/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp b/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp index 248b5058..f4b85d89 100644 --- a/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp +++ b/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp @@ -48,7 +48,7 @@ namespace boost { namespace fusion { namespace detail template <> struct vector_n_chooser { - typedef vector0 type; + typedef vector0<> type; }; #define BOOST_PP_FILENAME_1 \ diff --git a/include/boost/fusion/container/vector/vector10.hpp b/include/boost/fusion/container/vector/vector10.hpp index 28531b6f..929815ab 100644 --- a/include/boost/fusion/container/vector/vector10.hpp +++ b/include/boost/fusion/container/vector/vector10.hpp @@ -39,7 +39,8 @@ namespace boost { namespace fusion struct fusion_sequence_tag; struct random_access_traversal_tag; - struct vector0 : sequence_base + template + struct vector0 : sequence_base > { typedef mpl::vector0<> types; typedef vector_tag fusion_tag;