cpp/experimental/ranges/iterator/ForwardIterator

The concept refines  by adding equality comparison and the multi-pass guarantee.

The domain of for forward iterators is that of iterators over the same underlying sequence, except that value-initialized iterators of the same type may be compared with each other and shall compare equal.

Pointers and references obtained from a forward iterator into a range must remain valid while  continues to denote a range.

Let and  be two dereferenceable iterators of type. is satisfied only if: This is known as the multi-pass guarantee.
 * implies ; and
 * The expression is equivalent to, i.e., incrementing a copy of  has no effect on the result of dereferencing.