Standard C++ Library Reference ISO/IEC (VERSION3)
 typedef Container container_type;
 typedef typename Container::reference reference;
 insert_iterator(Container& cont,
 typename Container::iterator it);
 insert_iterator&
\\ operator=(typename Container::const_reference val);
 insert_iterator& operator*();
 insert_iterator& operator++();
 insert_iterator& operator++(int);
protected:
 Container *container;
 typename Container::iterator iter;
 };
The template class describes an output iterator object. It inserts elements into a container of type
Container, which it accesses via the protected pointer object it stores called container. It also
stores the protected iterator object, of class Container::iterator, called iter. The container
must define:
\\
the member type const_reference, which is the type of a constant reference to an element
of the sequence controlled by the container
● 
the member type iterator, which is the type of an iterator for the container● 
the member type reference, which is the type of a reference to an element of the sequence
controlled by 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 val), which inserts a new
element with value val immediately before the element designated by it in the controlled
sequence, \\then returns an iterator that designates the inserted element
● 
insert_iterator::container_type
typedef Container container_type;
The type is a synonym for the template parameter Container.
insert_iterator::insert_iterator
insert_iterator(Container& cont,
 typename Container::iterator it);
The constructor initializes container with &cont, and iter with it.










