Concept BasicOutputIteratorconcept BasicOutputIterator<typename X>
: IteratorAssociatedTypes, CopyConstructible
{
requires Assignable;
Â
typename postincrement_result = X;
requires Dereferenceable,
Assignable<Dereferenceable::reference,
value_type>,
Convertibleconst X&>;
Â
reference operator*(X&);
X& operator++(X&);
postincrement_result operator++(X&, int);
}; Where Defined#include <iterator> DescriptionThe BasicOutputIterator concept describes an output iterator
that has one, fixed value type. Unlike OutputIterator,
BasicOutputIterator is a part of the iterator refinement
hierarchy.
X& operator++(X& r);
Postcondition: &r == &++r.
postincrement_result operator++(X& r, int);
Effects: equivalent to
{ X tmp = r;
++r;
return tmp; }
Every BasicOutputIterator is an OutputIterator for value types Assignable to its value_type. This allows algorithms specified with
OutputIterator (the less restrictive concept) to work with
iterators that have concept maps for the more common
BasicOutputIterator concept.
template<BasicOutputIterator X, typename Value>
requires Assignable
concept_map OutputIterator {
typedef Value value_type;
typedef X::reference reference;
typedef X::postincrement_result postincrement_result;
};
|