Aliasing arguments in the template parameter list of an is-expression

Meta jared771 at gmail.com
Tue Mar 18 09:02:25 PDT 2014


I'd like to have the arguments of the template parameter list of 
an is-expression to be visible outside that is-expression, but I 
can't figure out a way to get an alias to them. Is something like 
this possible?

struct Pair(alias left, alias right) {}

template Left(P)
if (is(P == Pair!(left, right), left, right)
     && is(typeof(left) == int)
     && is(typeof(right) == int))
{
     //...
}

I know that I could put a constraint on the actual Pair type that 
left and right must be ints, but say I was unable to do that for 
some reason or another... Can I access that template parameter 
list outside of the first is-expression somehow?


More information about the Digitalmars-d-learn mailing list