How to chain constructor args to a template memeber

Lutger lutger.blijdestijn at
Thu Mar 11 10:37:26 PST 2010

BCS wrote:

> Using D2, I have a template class that looks something like this:
> class C(T) { T t; }
> (For simplicity, assume T is required to be a struct of some kind.) I want
> to have a constructor that passes on some of it's args to a constructor for
> t. This is easy as long as I don't need it to work for arbitrary
> constructors.
> What I want to do (that doesn't seem to work) is this:
> this(Args...)(int foo, float bar, Args args)
> {
>    t = T(args);
>    ...
> }
> Any ideas on fixes or work arounds?

Workaround if T has a single constructor, perhaps it can be generalized with 
some work:

this(int foo, float bar, std.traits.ParameterTypeTuple!(T.__ctor) args)
    t = T(args);

More information about the Digitalmars-d-learn mailing list