On 2012-02-29 14:24:36 +0000, Philippe Sigaud said:

[snip]
Thanks for the response.

In the meantime, I also hacked together a simple version of what I needed (see below), but I'll look into the references you provided as well :)

void forall(alias func, size_t lvl=0, T...)(T args) {
   static if (lvl == args.length) {
       func(args);
   }
   else {
       foreach (e; args[lvl]) {
           forall!(func, lvl+1)
                  (args[0..lvl], e, args[lvl+1..$]);
       }
   }
}

--
Magnus Lie Hetland
http://hetland.org

Reply via email to