Looping over Template Types ... possible?

Stefan Koch uplink.coder at googlemail.com
Sat Aug 14 20:20:01 UTC 2021


On Saturday, 14 August 2021 at 20:07:21 UTC, james.p.leblanc 
wrote:
> Good Evening/Day,
>
> Suppose I have a number of function templates that each take
> two types, say S and T.
>
> I would like to exercise my routines over the combinations
> of types:
>
> set of all S:  ( double[], float[], Complex!double[], 
> Complex!float[])
> set of all T:  ( double, float)
>
> Is something along the line of the following sketch possible?
>
> foreach( s in S){
>    foreach( t in T){
>
>       foo!(S,T)( T x, S y);
>       biz!(S,T)( T x, S y);
>
>    }
> }
>
> I have done some searching for hints about this, but I perhaps
> my search terms are not very good.
>
> All hint and pointers thankfully received.
>
> Best Regards,
> James

it is possible

look for `AliasSeq`
in `std.meta`

foreach(T; AliasSeq!(float, double))
{
   ...
}


More information about the Digitalmars-d-learn mailing list