
David Abrahams wrote:
I don't think you need that other requirement. Remember, an invalid iterator can't be incremented. So if r is dereferenceable, it's valid. You're still allowed to increment s (a copy of r) after r is incremented, so it can't have been invalidated by incrementing r.
If you're interested in *referent stability* of copies of r,
What's 'referent stability'?
the stability of "what's referred to" by the iterator.
E.g. stability of *reference*? Or stability of the referred value?
BTW, do new iterator requirement state that iterator type X is interoperable with itself?
Not explicitly, but that is certainly a logical implication of the requirements on single pass iterators.
How? I can't decude that from any of singla pass iterator requirements.
Incrementable iterator is a refinement of Assignable and Copy Constructible, and == is an equivalence relation, etc.
equivalence relation, in mathematical sense is a relation which is reflexive, transitive, and symmentric. Hmm.. I guess I only need to understand this requirement for Assignable: t = u post: t is equivalent to u ... - Volodya