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.

Reply via email to