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.

Reply via email to