Check whether a type is a instantiated by a template struct

Henning Pohl henning at still-hidden.de
Sat Aug 11 12:30:24 PDT 2012


On Saturday, 11 August 2012 at 19:06:22 UTC, Chris Cain wrote:
>
> Same idea, but doing it with just one template and using static 
> ifs...
>
> struct S(T) {}
>
> template isS(T) {
>     static if(is(T _ : S!U, U))
>         enum isS = true;
>     else
>         enum isS = false;
> }
>
> static assert(isS!(S!float));
> static assert(!isS!float);

Thank you two. Did not know about the great abilities of is.


More information about the Digitalmars-d-learn mailing list