On Friday, 4 April 2014 at 04:44:56 UTC, Nick Sabalausky wrote:
If you have a templated type, is there a way to get the
compile-time parameters it was instantiated with?
Ie:
----------------------
struct Foo(T) {}
alias MyFoo = Foo!int;
----------------------
Is there a way to inspect MyFoo to get its T type (in this
case, 'int')? *Without* actually making any changes to Foo to
explicitly support this?
alias TemplateArgs(T: Foo!U, U) = U;
void main()
{
assert(is(TemplateArgs!MyFoo == int));
}
