Getting the template name of a template instantiation
John via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Mon Jun 27 10:17:19 PDT 2016
On Monday, 27 June 2016 at 17:14:23 UTC, John wrote:
> On Monday, 27 June 2016 at 16:40:09 UTC, Nordlöw wrote:
>> If I have a template parameter
>>
>> E = S!int
>>
>> where
>>
>> struct S(T) { S x; }
>>
>> how can I extract the template name part `S` from E`?
>>
>> Something like:
>>
>> static assert(is(templateName!(S!int) == S));
>>
>> Is this already in Phobos somewhere?
>
> import std.traits;
> __traits(identifier, TemplateOf!(S!int));
Scratch that, this is what you want:
import std.traits;
static assert(__traits(isSame, TemplateOf!(S!int), S));
More information about the Digitalmars-d-learn
mailing list