The requirement that
a == b
implies
++a ==++b
(which is not true for input and output iterators)
and the removal of the restrictions on the number of the assignments through
a mutable iterator
(which applies to output iterators)
allows the use of multi-pass one-directional algorithms with forward iterators.
— end note]
Table 89: Cpp17ForwardIterator requirements (in addition to Cpp17InputIterator) [tab:forwarditerator]