ConceptC++ Concept Web

Concept OutputIterator

concept OutputIterator<typename X, typename Value> : CopyConstructible<X> {
  typename value_type = Value;
  typename reference = X::reference;
 
  requires SameType<value_type, Value>,
           Assignable<reference, value_type>;
 
  typename postincrement_result;
  requires Dereferenceable<postincrement_result&>,
           Convertible<postincrement_result, const X&>,
           Assignable<Dereferenceable<postincrement_result&>::reference,
                      value_type>;
 
  reference operator*(X&);
  X& operator++(X& r);
  postincrement_result operator++(X& r, int);
};

Where Defined

#include <iterator>

Description

The OutputIterator concept describes an output iterator that may permit output of many different value types.

X& operator++(X& r);

Postcondition: &r == &++r.

postincrement_result operator++(X& r, int); 

Effects: equivalent to

{ X tmp = r; 
++r; 
return tmp; }