std::insert_iterator< _Container > Class Template Reference

Turns assignment into insertion. More...

#include <stl_iterator.h>

Inheritance diagram for std::insert_iterator< _Container >:

Inheritance graph
[legend]
Collaboration diagram for std::insert_iterator< _Container >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef _Container container_type
 A nested typedef for the type of whatever container you used.


Public Methods

 insert_iterator (_Container &__x, typename _Container::iterator __i)
insert_iterator & operator= (const typename _Container::const_reference __value)
insert_iterator & operator * ()
 Simply returns *this.

insert_iterator & operator++ ()
 Simply returns *this. (This %iterator does not "move".).

insert_iterator & operator++ (int)
 Simply returns *this. (This %iterator does not "move".).


Detailed Description

template<typename _Container>
class std::insert_iterator< _Container >

Turns assignment into insertion.

These are output iterators, constructed from a container-of-T. Assigning a T to the iterator inserts it in the container at the %iterator's position, rather than overwriting the value at that position.

(Sequences will actually insert a copy of the value before the %iterator's position.)

Tip: Using the inserter function to create these iterators can save typing.

Definition at line 477 of file stl_iterator.h.


Member Typedef Documentation

template<typename _Container>
typedef _Container std::insert_iterator< _Container >::container_type
 

A nested typedef for the type of whatever container you used.

Definition at line 486 of file stl_iterator.h.


Constructor & Destructor Documentation

template<typename _Container>
std::insert_iterator< _Container >::insert_iterator _Container &    __x,
typename _Container::iterator    __i
[inline]
 

The only way to create this %iterator is with a container and an initial position (a normal %iterator into the container).

Definition at line 492 of file stl_iterator.h.


Member Function Documentation

template<typename _Container>
insert_iterator& std::insert_iterator< _Container >::operator *   [inline]
 

Simply returns *this.

Definition at line 528 of file stl_iterator.h.

template<typename _Container>
insert_iterator& std::insert_iterator< _Container >::operator++ int    [inline]
 

Simply returns *this. (This %iterator does not "move".).

Definition at line 536 of file stl_iterator.h.

template<typename _Container>
insert_iterator& std::insert_iterator< _Container >::operator++   [inline]
 

Simply returns *this. (This %iterator does not "move".).

Definition at line 532 of file stl_iterator.h.

template<typename _Container>
insert_iterator& std::insert_iterator< _Container >::operator= const typename _Container::const_reference    __value [inline]
 

Parameters:
value An instance of whatever type container_type::const_reference is; presumably a reference-to-const T for container<T>.
Returns:
This %iterator, for chained operations.
This kind of %iterator maintains its own position in the container. Assigning a value to the %iterator will insert the value into the container at the place before the %iterator.

The position is maintained such that subsequent assignments will insert values immediately after one another. For example,

     // vector v contains A and Z

     insert_iterator i (v, ++v.begin());
     i = 1;
     i = 2;
     i = 3;

     // vector v contains A, 1, 2, 3, and Z
  

Definition at line 519 of file stl_iterator.h.


The documentation for this class was generated from the following file:
Generated on Thu Nov 21 03:13:28 2002 for libstdc++-v3 Source by doxygen1.2.18-20021030