A possible suggestion for the Foreach loop
Dicebot
public at dicebot.lv
Wed Aug 21 05:22:51 PDT 2013
While you example can be re-written in a similar fashion with no
major issues, it would have been a very useful tool to solve the
problem with recursive template instantiation to embed
declarations.
Compare those two and count template instances:
-------------------------------------------
mixin template head(T)
{
mixin(generateCode!T);
}
mixin template list(T...)
if (T.length >= 1)
{
mixin head!(T[0]);
static if (T.length > 1)
mixin list!(T1..$]);
}
struct Test
{
mixin list!(int, string, double);
}
-------------------------------------------
struct Test
{
foreach (T; TypeTuple!(int, string, double))
{
mixin(generateCode!T));
}
}
-------------------------------------------
I remember Andrei reacting quite positively to this proposal when
talking on #d channel.
More information about the Digitalmars-d
mailing list