std.range and opApply
bearophile
bearophileHUGS at lycos.com
Tue May 18 16:36:29 PDT 2010
What's the attitude of std.range toward opApply?
In some situations I use opApply (and I think some syntax sugar can be added to define a yield, to make a third way to define lazy iterables in D) and I'd like to write code like this too:
take(Range(100), 8)
import std.range: isInputRange, take;
struct Range {
int stop;
int opApply(int delegate(ref int) dg) {
int result;
for (int i = 0; i < stop; i++) {
result = dg(i);
if (result)
break;
}
return result;
}
}
void main() {
assert(isInputRange!Range);
auto r = take(Range(100), 8);
}
Is it planned to improve those std.range functions to work with opApply too, or do I have to rewrite them all and them some in my dlibs2, so they can support both the range protocol and opApply?
Bye,
bearophile
More information about the Digitalmars-d-learn
mailing list