Implementing iterators for D custom data structures (best practices)

Jonathan M Davis jmdavisProg at gmx.com
Sun Oct 16 19:55:49 PDT 2011


On Monday, October 17, 2011 10:22:42 Granville Barnett wrote:
> Hi All,
> 
> I've not used D for long so hopefully this question isn't too stupid...
> 
> Are there any best practices for implementing iterators in D? My
> understanding is that D follows a similar design approach to the STL RE
> containers - iterators - algs - adapters etc.
> 
> Also, are there any examples of well written data structures that expose
> iterators?...I recall that in D only arrays have them (I may be wrong, I
> haven't looked). Any open source projects that are notoriously well
> implemented?
> 
> Thanks in advance.

D code doesn't normally use iterators. It uses ranges, which are a similar but 
generally superior concept.

http://www.informit.com/articles/printerfriendly.aspx?p=1407357

std.range and std.algorithm in particular make heavy use of ranges:

http://d-programming-language.org/phobos/std_range.html
http://d-programming-language.org/phobos/std_algorithm.html

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list