On Saturday, 6 July 2013 at 16:15:52 UTC, Max Strakhov wrote:
Thanx for all your help, i just solved the problem with mixins like this:

string res = "";
for(i, rev v; args)
    res ~= string.format(", f(args[%d]).val()");
mixin("return G(" ~ res ~ ");");

Only without any actual looping and variables, so compiler could deal with it.

printf("...", ForEach!(val => conv(val).c_str())(values).tuple);

...would have done exactly the same as C++:

printf("...", conv(values).c_str()...);

...does (barring it makes a temporary struct which holds one field for each of those converted const char pointers, but the compiler can optimize it away).

Reply via email to