Defined Terms
back_inserterIterator adaptor that takes a reference to a container and generates an insert iterator that uses push_back to add elements to the specified container.
bidirectional iteratorSame operations as forward iterators plus the ability to use to move backward through the sequence.
forward iteratorIterator that can read and write elements, but does not support --.
front_inserterIterator adaptor that given a container, generates an insert iterator that uses push_front to add elements to the beginning of that container.
generic algorithmsType-independent algorithms.
input iteratorIterator that can read but not write elements.
insert iteratorIterator that uses a container operation to insert elements rather than overwrite them. When a value is assigned to an insert iterator, the effect is to insert the element with that value into the sequence.
inserterIterator adaptor that takes an iterator and a reference to a container and generates an insert iterator that uses insert to add elements just ahead of the element referred to by the given iterator.
istream_iteratorStream iterator that reads an input stream.
iterator categoriesConceptual organization of iterators based on the operations that an iterator supports. Iterator categories form a hierarchy, in which the more powerful categories offer the same operations as the lesser categories. The algorithms use iterator categories to specify what operations the iterator arguments must support. As long as the iterator provides at least that level of operation, it can be used. For Example, some algorithms require only input iterators. Such algorithms can be called on any iterator other than one that meets only the output iterator requirements. Algorithms that require random-access iterators can be used only on iterators that support random-access operations.
off-the-end iteratorAn iterator that marks the end of a range of elements in a sequence. The off-the-end iterator is used as a sentinel and refers to an element one past the last element in the range. The off-the-end iterator may refer to a nonexistent element, so it must never be dereferenced.
ostream_iteratorIterator that writes to an output stream.
output iteratorIterator that can write but not read elements.
predicateFunction that returns a type that can be converted to bool. Often used by the generic algorithms to test elements. Predicates used by the library are either unary (taking one argument) or binary (taking two).
random-access iteratorSame operations as bidirectional iterators plus the ability to use the relational operators to compare iterator values and the ability to do arithmetic on iterators, thus supporting random access to elements.
reverse iteratorIterator that moves backward through a sequence. These iterators invert the meaning of ++ and --.
stream iteratorIterator that can be bound to a stream.