On Wed, 26 Mar 2014 08:29:15 -0400, Steven Schveighoffer
<schvei...@yahoo.com> wrote:
On Wed, 26 Mar 2014 06:46:26 -0400, Regan Heath <re...@netmail.co.nz>
wrote:
IMO the rules should be something like:
- r.empty WILL return false if there is more data available in the
range.
- r.empty MUST be called before r.front, r.front WILL succeed if
r.empty returned false.
- r.front WILL repeatably return the current element in the range. It
MAY return by value or by reference.
- r.empty SHOULD be called before r.popFront, otherwise r.popFront
MAY do nothing or throw
(could also make this one a 'MUST')
- r.popFront WILL advance to the next element in the range.
These two rules are not necessary if you know the range is not empty.
See the conversation inside this pull:
https://github.com/D-Programming-Language/phobos/pull/1987
Gah, I didn't cut out the right rules. I meant the two rules that empty
must be called before others. Those are not necessary.
-Steve