Thanks for the reply. Not sure how I missed it there. Interesting
that the compiler has to be made aware of a concept that I had
thought was only supposed to be part of phobos. Would it be
possible to implement it in std.range using the new UFCs?
On Tuesday, 17 July 2012 at 19:17:47 UTC, Ali Çehreli wrote:
On 07/17/2012 11:59 AM, Mike L. wrote:
How exactly does the compiler know how to do foreach on ranges
(for
example, ones returned by std.algorithm.map ?) I've looked
around in
std.algorithm and std.range, but can't seem to figure it out.
The spec mentions it under 'Foreach over Structs and Classes
with Ranges':
http://dlang.org/statement.html#ForeachStatement
There are two methods:
a) opApply() member functions (and opApplyReverse(), which is
rumored to be deprecated in the future)
b) empty, front, and popFront() member functions
Ali