Thread overview
How to Mixin a Type List?
Jan 25, 2011
Nick
Jan 25, 2011
Philippe Sigaud
Jan 25, 2011
Simen kjaeraas
Feb 19, 2011
Nick
January 25, 2011
Instead of mixing in type by type, is there a way to mixin a Type Tuple? Some foreach Type mixin;

Otherwise, I guess recursive templated inheritance with a single mixin at each level should to the trick?

Thanks,
Nick
January 25, 2011
On Tue, Jan 25, 2011 at 12:33, Nick <nick@example.com> wrote:
> Instead of mixing in type by type, is there a way to mixin a Type Tuple? Some foreach Type mixin;
>
> Otherwise, I guess recursive templated inheritance with a single mixin at each level should to the trick?

Could you give an example of type mixin? I'm not sure I understand what you're trying to do.

Philippe
January 25, 2011
Nick <nick@example.com> wrote:

> Instead of mixing in type by type, is there a way to mixin a Type Tuple? Some foreach Type mixin;
>
> Otherwise, I guess recursive templated inheritance with a single mixin at each level should to the trick?

That would be the way to do it, yes:

template chainedMixin( alias head, tail... ) {
    mixin head;
    mixin chainedMixin!tail;
}

template chainedMixin( alias head ) {
    mixin head;
}

-- 
Simen
February 19, 2011
On 1/25/2011 11:33 PM, Simen kjaeraas wrote:
> Nick <nick@example.com> wrote:
>
>> Instead of mixing in type by type, is there a way to mixin a Type
>> Tuple? Some foreach Type mixin;
>>
>> Otherwise, I guess recursive templated inheritance with a single mixin
>> at each level should to the trick?
>
> That would be the way to do it, yes:
>
> template chainedMixin( alias head, tail... ) {
> mixin head;
> mixin chainedMixin!tail;
> }
>
> template chainedMixin( alias head ) {
> mixin head;
> }
>

Thanks! The problem is with mixing containing identical members. Then I need to disambiguate to address them. For that, I'd need to say something like

mixin head headIdentifier;

But I would need to differentiate somehow those identifiers... Any ideas?

Thanks!