ConceptC++ Concept Web

Concept ForwardIterator

concept ForwardIterator<typename X> : InputIterator, DefaultConstructible {
  requires Convertibleconst value_type&>,
           Convertibleconst X&>;
};

Where Defined

#include <iterator>

Description

[ Note: The condition 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 the iterator (which applies to output iterators) allows the use of multi-pass one-directional algorithms with forward iterators. - end note ]

bool operator==(X, X); 

If a and b are equal, then either a and b are both dereferenceable or else neither is dereferenceable.

If a and b are both dereferenceable, then a == b if and only if *a and *b are the same object.