Variadische Vorlage Template-Parameter akzeptieren jede Vorlage:Wie kann ich variable Template Vorlage Parameter curry?
template<typename T>
struct Test1 {
using type = int;
};
template<typename T, typename T1>
struct Test2 {
using type = char*;
};
template<template<typename...S> class BeCurry>
struct Currying {
};
using curry = Currying<Test1>;
using curry2 = Currying<Test2>;
I Currying Template-Template-Klasse wollen.
Dies bedeutet: wenn der Parameter einen Vorlagenparameter akzeptiert, wie Test1
, curry::apply<T>::type get Test1<T>::type
. Wenn der Parameter zwei Vorlagenparameter akzeptiert, wie Test2
, curry2::apply<T0>
ist eine "teilweise" Vorlage, curry2::apply<T0>::apply<T1>::type get Test2<T0,T1>::type
Ist dies möglich zu implementieren? Weil ich nicht innere Parameter Zahl der Template-Template-Parameter abfragen kann:
template<template<typename... S> class BeCurry>
struct Currying {
enum { value = sizeof...(S) }; // error!
};
Bitte überprüfen –