Checking if something is a template specialization?
Lars T. Kyllingstad
public at kyllingen.NOSPAMnet
Fri Feb 18 01:42:47 PST 2011
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.
}
}
More information about the Digitalmars-d-learn
mailing list