Given two AliasSeq (A and B) and template T, how to make AliasSeq!(T!(A[0], B[0]) ... T!(A[n], B[n])) ?
Nicholas Wilson via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Nov 26 23:38:53 PST 2016
On Sunday, 27 November 2016 at 06:01:13 UTC, Tofu Ninja wrote:
> Basically the title says it all.
>
> alias A = AliasSeq!(...);
> alias B = AliasSeq!(...);
> static assert(A.length == B.length);
> template T(An, Bn){ ... }
> alias C = AliasSeq!(T!(A[0], B[0]) ... T!(A[n], B[n])); // how
> to make this :/
>
> How do I actually make the sequence C?
Whoops it would help if I read your question.
You want to use Iota in conjunction with staticMap.
alias pairs(int N, alias a, alias b) = AliasSeq(a[N],b[N]);
alias C = staticMap!(T,staticMap(pairs,Iota!N));
More information about the Digitalmars-d-learn
mailing list