This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of NAD status.

493. Undefined Expression in Input Iterator Note Title

Section: 27.2.3 [input.iterators] Status: NAD Submitter: Chris Jefferson Opened: 2004-12-13 Last modified: 2017-02-03

Priority: Not Prioritized

View other active issues in [input.iterators].

View all other issues in [input.iterators].

View all issues with NAD status.


1) In 24.1.1/3, the following text is currently present.

"Note: For input iterators, a==b does not imply ++a=++b (Equality does not guarantee the substitution property or referential transparency)."

However, when in Table 72, part of the definition of ++r is given as:

"pre: r is dereferenceable. post: any copies of the previous value of r are no longer required either to be dereferenceable ..."

While a==b does not imply that b is a copy of a, this statement should perhaps still be made more clear.

2) There are no changes to intended behaviour

3) This Note should be altered to say "Note: For input iterators a==b, when its behaviour is defined ++a==++b may still be false (Equality does not guarantee the substitution property or referential transparency).

Proposed resolution:


This is descriptive text, not normative, and the meaning is clear.