Re: Specialize mixin templates

2012-08-12 Thread Henning Pohl

On Sunday, 12 August 2012 at 02:32:30 UTC, Timon Gehr wrote:

On 08/11/2012 11:42 PM, Henning Pohl wrote:

A struct takes a mixin template as argument:

struct S(alias Mixin) {
mixin Mixin;
}


How to specialize a mixin template like this one to pass to S?

mixin template MixinTemplate(T) {
}


S(MixinTemplate!float); // Something like this


This is a way to do it:

struct S(alias Mixin){
mixin Mixin;
}

mixin template MixinTemplate(T){
}
mixin template MixinTemplateFloat(){
mixin MixinTemplate!float;
}

S!MixinTemplateFloat s;


I've already found another way, but I think this proposal seems 
cleaner, thank you.


Specialize mixin templates

2012-08-11 Thread Henning Pohl

A struct takes a mixin template as argument:

struct S(alias Mixin) {
mixin Mixin;
}


How to specialize a mixin template like this one to pass to S?

mixin template MixinTemplate(T) {
}


S(MixinTemplate!float); // Something like this


Re: Specialize mixin templates

2012-08-11 Thread Timon Gehr

On 08/11/2012 11:42 PM, Henning Pohl wrote:

A struct takes a mixin template as argument:

struct S(alias Mixin) {
mixin Mixin;
}


How to specialize a mixin template like this one to pass to S?

mixin template MixinTemplate(T) {
}


S(MixinTemplate!float); // Something like this


This is a way to do it:

struct S(alias Mixin){
mixin Mixin;
}

mixin template MixinTemplate(T){
}
mixin template MixinTemplateFloat(){
mixin MixinTemplate!float;
}

S!MixinTemplateFloat s;