static foreach
Navin Kumar
navinkumar+dlang at gmail.com
Sun Mar 28 13:54:42 PDT 2010
I was going over the D tutorials on tuples and noticed that it's possible to do a "foreach" across the tuple items. I'm assuming this is a compile-time foreach, is that correct?
I've been looking for a way to do a compile-time "foreach" for a different problem, namely complete loop unrolling. I have a performance-sensitive "atoi" routine that knows, at compile-time, the length of the string (but not the string itself). I've been thinking of solving this problem using static if(len == 1) { .. } static if(len == 2) { .. } and so on up to len = 22, and not supporting any longer than that. It severely violates the "DRY" principle, and the function becomes a thousand lines of code (and a nightmare to ever change, since changes have to be made 22x times).
I would like to solve this problem with a compile-time foreach; how do I do so? "static foreach" is not valid syntax in D.
More information about the Digitalmars-d
mailing list