Theoutput_iterator
concept is a refinement ofinput_or_output_iterator
, adding the requirement that it can be used to write values of type and value category encoded byT
(viaindirectly_writable
).equality_comparable
is not required.
[edit]Semantic requirements
LetE
be an expression such thatdecltype((E)) isT
, andi
be a dereferenceable object of typeI
.std::output_iterator<I, T> is modeled only if all the concepts it subsumes are modeled, and*i++= E; has effects equivalent to*i= E;++i;.
[edit]Equality preservation
Expressions declared inrequires expressions of the standard library concepts are required to beequality-preserving (except where stated otherwise).
Unlike theLegacyOutputIterator requirements, theoutput_iterator
concept does not require that the iterator category tag be defined.
Algorithms on output iterators should be single pass.
[edit]See also
| specifies that objects of a type can be incremented and dereferenced (concept)[edit] |