insert_iterator
insert_iterator
template<class Cont>
class insert_iterator
: public iterator<output_iterator_tag, void, void> {
public:
typedef Cont container_type;
typedef Cont::value_type value_type;
explicit insert_iterator(Cont& x, Cont::iterator it);
insert_iterator& operator=(const Cont::value_type& val);
insert_iterator& operator*();
insert_iterator& operator++();
insert_iterator& operator++(int);
protected:
Cont& container;
Cont::iterator iter;
};
The template class describes an output iterator object. It inserts elements into a container of type Cont
, which it accesses via the protected reference object it stores called container
. It also stores the protected iterator object, of class Cont::iterator
, called iter
. The container must define:
- The member type
iterator
, which is the type of an iterator for the container. - The member type
value_type
, which is the type of an element of the sequence controlled by the container. - The member function
insert``(iterator it, value_type c)
, which inserts a new element with valuec
immediately before the element designated byit
in the controlled sequence, then returns an iterator that designates the inserted element.