fix trac issue #1608

[SVN r53915]
This commit is contained in:
Joel de Guzman
2009-06-15 01:54:01 +00:00
parent 363ff5750f
commit 63ce990a8c
5 changed files with 10 additions and 9 deletions

View File

@ -16,7 +16,7 @@ namespace boost { namespace fusion
template <typename Sequence>
struct clear
{
typedef vector0 type;
typedef vector0<> type;
};
}
@ -24,7 +24,7 @@ namespace boost { namespace fusion
inline typename result_of::clear<Sequence const>::type
clear(Sequence const& seq)
{
return vector0();
return vector0<>();
}
}}

View File

@ -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) \

View File

@ -31,14 +31,14 @@ namespace boost { namespace fusion { namespace detail
template <typename Iterator>
struct apply
{
typedef vector0 type;
typedef vector0<> type;
};
template <typename Iterator>
static typename apply<Iterator>::type
call(Iterator)
{
return vector0();
return vector0<>();
}
};

View File

@ -48,7 +48,7 @@ namespace boost { namespace fusion { namespace detail
template <>
struct vector_n_chooser<BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, void_ BOOST_PP_INTERCEPT)>
{
typedef vector0 type;
typedef vector0<> type;
};
#define BOOST_PP_FILENAME_1 \

View File

@ -39,7 +39,8 @@ namespace boost { namespace fusion
struct fusion_sequence_tag;
struct random_access_traversal_tag;
struct vector0 : sequence_base<vector0>
template <typename Dummy = void>
struct vector0 : sequence_base<vector0<Dummy> >
{
typedef mpl::vector0<> types;
typedef vector_tag fusion_tag;