forked from boostorg/mp11
Clang -x cuda: >>> mixmatch
This commit is contained in:
@@ -297,8 +297,8 @@ template<template<class...> class L, class... T, std::size_t I> struct mp_at_c_i
|
||||
|
||||
template<class L, std::size_t I> struct mp_at_c_impl
|
||||
{
|
||||
using _map = mp_transform<mp_list, mp_iota<mp_size<L>>, L>;
|
||||
using type = mp_second<mp_map_find<_map, mp_size_t<I>>>;
|
||||
using _map = mp_transform<mp_list, mp_iota<mp_size<L> >, L>;
|
||||
using type = mp_second<mp_map_find<_map, mp_size_t<I> > >;
|
||||
};
|
||||
|
||||
#endif
|
||||
@@ -843,7 +843,7 @@ template<template<class...> class L, class T1, class... T, class V, template<cla
|
||||
template<template<class...> class L, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9, class T10, class... T, class V, template<class...> class F> struct mp_reverse_fold_impl<L<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T...>, V, F>
|
||||
{
|
||||
using rest = typename mp_reverse_fold_impl<L<T...>, V, F>::type;
|
||||
using type = F<T1, F<T2, F<T3, F<T4, F<T5, F<T6, F<T7, F<T8, F<T9, F<T10, rest>>>>>>>>>>;
|
||||
using type = F<T1, F<T2, F<T3, F<T4, F<T5, F<T6, F<T7, F<T8, F<T9, F<T10, rest> > > > > > > > > >;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
@@ -889,7 +889,7 @@ template<class L, class I, class W> struct mp_replace_at_impl
|
||||
template<class T1, class T2> using _p = std::is_same<T2, mp_size_t<I::value>>;
|
||||
template<class T1, class T2> using _f = W;
|
||||
|
||||
using type = mp_transform_if<_p, _f, L, mp_iota<mp_size<L>>>;
|
||||
using type = mp_transform_if<_p, _f, L, mp_iota<mp_size<L> > >;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
@@ -133,7 +133,7 @@ template<
|
||||
using type = typename mp_append_impl<prefix, Lr...>::type;
|
||||
};
|
||||
|
||||
template<class... L> struct mp_append_impl: mp_if_c<(sizeof...(L) > 111), mp_quote<append_inf_impl>, mp_if_c<(sizeof...(L) > 11), mp_quote<append_111_impl>, mp_quote<append_11_impl>>>::template fn<L...>
|
||||
template<class... L> struct mp_append_impl: mp_if_c<(sizeof...(L) > 111), mp_quote<append_inf_impl>, mp_if_c<(sizeof...(L) > 11), mp_quote<append_111_impl>, mp_quote<append_11_impl> > >::template fn<L...>
|
||||
{
|
||||
};
|
||||
|
||||
|
@@ -73,7 +73,7 @@ public:
|
||||
using type = S4;
|
||||
};
|
||||
|
||||
template<class T, T N> struct make_integer_sequence_impl: iseq_if_c<N == 0, iseq_identity<integer_sequence<T>>, iseq_if_c<N == 1, iseq_identity<integer_sequence<T, 0>>, make_integer_sequence_impl_<T, N>>>
|
||||
template<class T, T N> struct make_integer_sequence_impl: iseq_if_c<N == 0, iseq_identity<integer_sequence<T>>, iseq_if_c<N == 1, iseq_identity<integer_sequence<T, 0>>, make_integer_sequence_impl_<T, N> > >
|
||||
{
|
||||
};
|
||||
|
||||
|
@@ -58,7 +58,7 @@ template<class M, class T, template<class...> class F> struct mp_map_update_impl
|
||||
template<class U> using _f = std::is_same<mp_first<T>, mp_first<U>>;
|
||||
|
||||
// _f3<L<X, Y...>> -> L<X, F<X, Y...>>
|
||||
template<class L> using _f3 = mp_assign<L, mp_list<mp_first<L>, mp_rename<L, F>>>;
|
||||
template<class L> using _f3 = mp_assign<L, mp_list<mp_first<L>, mp_rename<L, F> > >;
|
||||
|
||||
using type = mp_if< mp_map_contains<M, mp_first<T>>, mp_transform_if<_f, _f3, M>, mp_push_back<M, T> >;
|
||||
};
|
||||
|
@@ -25,7 +25,7 @@ template<class S, class V> struct mp_set_contains_impl;
|
||||
|
||||
template<template<class...> class L, class... T, class V> struct mp_set_contains_impl<L<T...>, V>
|
||||
{
|
||||
using type = mp_to_bool<std::is_base_of<mp_identity<V>, mp_inherit<mp_identity<T>...>>>;
|
||||
using type = mp_to_bool<std::is_base_of<mp_identity<V>, mp_inherit<mp_identity<T>...> > >;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
@@ -90,7 +90,7 @@ template<class S> struct mp_is_set_impl
|
||||
|
||||
template<template<class...> class L, class... T> struct mp_is_set_impl<L<T...>>
|
||||
{
|
||||
using type = mp_to_bool<std::is_same<mp_list<T...>, mp_set_push_back<mp_list<>, T...>>>;
|
||||
using type = mp_to_bool<std::is_same<mp_list<T...>, mp_set_push_back<mp_list<>, T...> > >;
|
||||
};
|
||||
|
||||
} // namespace detail
|
||||
|
Reference in New Issue
Block a user