On Saturday, 11 August 2012 at 18:51:36 UTC, Henning Pohl wrote:
So the struct is defined as:

struct S(T) {
}

template isS(T) {
    // ...
}

static assert(isS(S!float));
static assert(!isS(float));

There may be some nasty ways using fullQualifiedName!T and so on but I guess there is a better way, isn't it?

struct S(T) {}

template isS(T : S!U, U) {
    enum isS = true;
}

template isS(T) {
    enum isS = false;
}

static assert(isS!(S!float));
static assert(!isS!float);

Reply via email to