Extracting template parameters
Dan
dbdavidson at yahoo.com
Tue Nov 6 07:34:10 PST 2012
On Tuesday, 6 November 2012 at 15:20:43 UTC, Joseph Rushton
Wakeling wrote:
> Of course the f.T1 notation is my fiction, but it gives the
> idea of what is needed -- is there a means to extract and use
> template parameters in this way? I assume something from
> std.traits but it's not entirely clear what or how ...
Would something like this be what you are after?
import std.stdio;
struct Foo(_T1, _T2, _T3)
{
alias _T1 T1;
alias _T2 T2;
alias _T2 T3;
}
struct Bar(_T1, _T2, _T3)
{
alias _T1 T1;
alias _T2 T2;
alias _T2 T3;
}
auto fooToBar(F)(F f) {
Bar!(F.T1, F.T2, F.T3) b;
writeln("I have a ", typeid(typeof(b)));
return b;
}
void main() {
alias Foo!(int, string, char) X;
X x;
fooToBar(x);
}
Thanks
Dan
More information about the Digitalmars-d-learn
mailing list