updated make_vector to return numered forms instead

[SVN r49768]
This commit is contained in:
Joel de Guzman
2008-11-15 11:08:49 +00:00
parent b543bd13e7
commit 6ff5a74d9d

View File

@ -32,14 +32,14 @@ namespace boost { namespace fusion
template <> template <>
struct make_vector<> struct make_vector<>
{ {
typedef vector<> type; typedef vector0 type;
}; };
} }
inline vector<> inline vector<>
make_vector() make_vector()
{ {
return vector<>(); return vector0();
} }
#define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \ #define BOOST_FUSION_AS_FUSION_ELEMENT(z, n, data) \
@ -74,15 +74,15 @@ namespace boost { namespace fusion
struct make_vector<BOOST_PP_ENUM_PARAMS(N, T)> struct make_vector<BOOST_PP_ENUM_PARAMS(N, T)>
#endif #endif
{ {
typedef vector<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)> type; typedef BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)> type;
}; };
} }
template <BOOST_PP_ENUM_PARAMS(N, typename T)> template <BOOST_PP_ENUM_PARAMS(N, typename T)>
inline vector<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)> inline BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>
make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _)) make_vector(BOOST_PP_ENUM_BINARY_PARAMS(N, T, const& _))
{ {
return vector<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>( return BOOST_PP_CAT(vector, N)<BOOST_PP_ENUM(N, BOOST_FUSION_AS_FUSION_ELEMENT, _)>(
BOOST_PP_ENUM_PARAMS(N, _)); BOOST_PP_ENUM_PARAMS(N, _));
} }