On Fri, 18 Feb 2011 02:02:51 +0000, Sean Eskapp wrote: > If I have > > class Bar(T) > { > } > > void foo(Y)() > { > ... > } > > Is there a way to check inside foo() that Y is in some way an > instantiation of Bar? Is there a way to find WHICH instantiation it is?
void foo(Y)() { static if (is(Y Z == Bar!Z)) { // Here, Z is now an alias to whichever type Bar is // instantiated with. } else { // Z is invalid here. } }