summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/entity.hpp10
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_;