Re: Extracting Params of Templated Type

2014-04-04 Thread Andrej Mitrovic
On 4/4/14, Meta jared...@gmail.com wrote: alias TemplateArgs(T: Foo!U, U) = U; It's also in std.traits, TemplateArgsOf, which is more complete.

Re: Extracting Params of Templated Type

2014-04-04 Thread Meta
On Friday, 4 April 2014 at 07:23:51 UTC, Andrej Mitrovic wrote: On 4/4/14, Meta jared...@gmail.com wrote: alias TemplateArgs(T: Foo!U, U) = U; It's also in std.traits, TemplateArgsOf, which is more complete. I thought I remembered that being in std.traits, but I couldn't find it after

Extracting Params of Templated Type

2014-04-03 Thread Nick Sabalausky
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

Re: Extracting Params of Templated Type

2014-04-03 Thread Meta
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

Re: Extracting Params of Templated Type

2014-04-03 Thread Nick Sabalausky
On 4/4/2014 1:02 AM, Meta wrote: alias TemplateArgs(T: Foo!U, U) = U; void main() { assert(is(TemplateArgs!MyFoo == int)); } Ahh thanks.