diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-15 17:14:55 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-11-15 20:01:58 +0100 |
commit | c3609dd4993e67268e7799083ebc8b3fc4f28044 (patch) | |
tree | c357367bfcf373d40cceff39b0c94501e33d0d95 /src | |
parent | bc197f2291ed9d0c862739f0bbaddfe69baedde2 (diff) |
entity: only use own template template parameter type
Diffstat (limited to 'src')
-rw-r--r-- | src/entity.hpp | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/entity.hpp b/src/entity.hpp index 0c5e15ed..6d24255b 100644 --- a/src/entity.hpp +++ b/src/entity.hpp @@ -163,6 +163,8 @@ constexpr CORRADE_ALWAYS_INLINE bool find_in_tuple(F&& fun, Tuple&& tuple) return false; } +template<typename... Ts> struct parameter_pack; + template<template<typename...> class F, typename Acc, typename T, typename... Fs> struct reduce0_; @@ -173,22 +175,20 @@ struct reduce0_<F, Acc, T<>, Fs...> { template<template<typename...> class F, typename Acc, template<typename...> class X, typename T, typename... Ts, typename... Fs> struct reduce0_<F, Acc, X<T, Ts...>, Fs...> { - using type = typename reduce0_< F, F<Acc, T>, X<Ts...>, Fs... >::type; + using type = typename reduce0_< F, F<Acc, T>, parameter_pack<Ts...>, Fs... >::type; }; -template<template<typename...> class F, typename XC, typename... Fs> +template<template<typename...> class F, typename X, typename... Fs> struct reduce_; template<template<typename...> class F, template<typename...> class X, typename T1, typename... Ts, typename... Fs> struct reduce_<F, X<T1, Ts...>, Fs...> { - using type = typename reduce0_< F, T1, X<Ts...>, Fs... >::type; + using type = typename reduce0_< F, T1, parameter_pack<Ts...>, Fs... >::type; }; template<template<typename...> class F, typename T, typename... Fs> using reduce = typename reduce_<F, T, Fs...>::type; -template<typename... Ts> struct parameter_pack; - template<typename T, template<typename...> typename C, typename... Args2> struct lift_; |