www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Template mixins

reply Simen Haugen <simen norstat.no> writes:
This is probably a stupid question, but I cannot get a simple mixin to work:

template Test(R, N=char[])
{
     mixin(R.stringof~" "~N~"() { return "~R.stringof~".init; }");
}

class C
{
     mixin Test!(bool, "T");
}

gives:
mixin Test!(bool, "T") does not match any template declaration

So there's obviously some basic stuff I don't get here...
Sep 05 2008
parent reply "Jarrett Billingsley" <jarrett.billingsley gmail.com> writes:
On Fri, Sep 5, 2008 at 6:29 AM, Simen Haugen <simen norstat.no> wrote:
 This is probably a stupid question, but I cannot get a simple mixin to work:

 template Test(R, N=char[])
 {
    mixin(R.stringof~" "~N~"() { return "~R.stringof~".init; }");
 }

You mean "template Test(R, char[] N)".
Sep 05 2008
parent Simen Haugen <simen norstat.no> writes:
Jarrett Billingsley wrote:
 On Fri, Sep 5, 2008 at 6:29 AM, Simen Haugen <simen norstat.no> wrote:
 This is probably a stupid question, but I cannot get a simple mixin to work:

 template Test(R, N=char[])
 {
    mixin(R.stringof~" "~N~"() { return "~R.stringof~".init; }");
 }

You mean "template Test(R, char[] N)".

Aaah. Because I'm not sending a type, but a value. Thanks! But I was right.. It was a stupid question :)
Sep 05 2008