Ranges

Lars T. Kyllingstad public at kyllingen.NOSPAMnet
Mon Feb 7 23:05:20 PST 2011


On Tue, 08 Feb 2011 05:03:34 +0000, %u wrote:

> I've learned that an InputRange needs three methods to enumerate a
> collection:
> 
>   void popFront()
>   @property T front()
>   @property bool empty()
> 
> but is that really necessary? Why not just have:
> 
>   bool next(out T value);
> 
> ?
> Wouldn't this be much cleaner? Even the .NET implementation of
> IEnumerator only has two methods used for enumeration (MoveNext() and
> Current), instead of three.

Related discussion:

http://www.digitalmars.com/d/archives/digitalmars/D/getNext_113217.html

-Lars


More information about the Digitalmars-d-learn mailing list