*r++ returned type T, semantics {T tmp= *r; ++r; return tmp; }
The new Single Pass Iterators in N1477 have no such requirement.
That's fine with me - that requirement was a source of bugs in my code and violated the rule of least astonishment as far as I was concerned.
But before I remove the test from the filesystem library that verifies the old input iterator semantics for directory_iterator, I'd like to verify that the omission of *r++ was a design decision rather than an oversight.
The omission of special requirements for *r++ means that Readable and Single Pass = Input, as shown in the diagram, is not actually correct, unless I'm missing something. Thus perhaps it should be discussed in the paper.
--Beman
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost