Get class type parameters at compile time
bearophile
bearophileHUGS at lycos.com
Thu Dec 13 16:18:10 PST 2012
Philippe Sigaud:
> template TemplateArity(Type)
> {
> enum T = Type.stringof;
> mixin("alias " ~ T ~ " U;");
> static if (is(Type _ == U!Args, Args...))
> enum TemplateArity = Args.length;
> else
> enum TemplateArity = -1;
> }
>
> void main()
> {
> alias Test!(int, double, string) T;
...
> assert(TemplateArity!T == 3); // External deduction
> }
Fit to be added to Phobos?
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list