forked from boostorg/fusion
Remove trailing void_ support on variadic vector.
This commit is contained in:
@ -276,37 +276,20 @@ namespace boost { namespace fusion
|
||||
static BOOST_FUSION_GPU_ENABLED
|
||||
mpl::identity<U> value_at_impl(store<N, U>*);
|
||||
};
|
||||
|
||||
template <typename V, typename... T>
|
||||
struct trim_void_;
|
||||
|
||||
template <typename... T>
|
||||
struct trim_void_<vector<T...> >
|
||||
{
|
||||
typedef vector_data<
|
||||
typename detail::make_index_sequence<sizeof...(T)>::type
|
||||
, T...
|
||||
> type;
|
||||
};
|
||||
|
||||
template <typename... T, typename... Tail>
|
||||
struct trim_void_<vector<T...>, void_, Tail...>
|
||||
: trim_void_<vector<T...> > {};
|
||||
|
||||
template <typename... T, typename Head, typename... Tail>
|
||||
struct trim_void_<vector<T...>, Head, Tail...>
|
||||
: trim_void_<vector<T..., Head>, Tail...> {};
|
||||
|
||||
template <typename... T>
|
||||
struct trim_void : trim_void_<vector<>, T...> {};
|
||||
} // namespace boost::fusion::vector_detail
|
||||
|
||||
// This class provides backward compatibility: vector<T, ..., void_, void_, ...>.
|
||||
template <typename... T>
|
||||
struct vector
|
||||
: vector_detail::trim_void<T...>::type
|
||||
: vector_detail::vector_data<
|
||||
typename detail::make_index_sequence<sizeof...(T)>::type
|
||||
, T...
|
||||
>
|
||||
{
|
||||
typedef typename vector_detail::trim_void<T...>::type base;
|
||||
typedef vector_detail::vector_data<
|
||||
typename detail::make_index_sequence<sizeof...(T)>::type
|
||||
, T...
|
||||
> base;
|
||||
|
||||
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
|
||||
vector()
|
||||
|
Reference in New Issue
Block a user