std::front_insert_iterator< _Container > Class Template Reference

Turns assignment into insertion. More...

#include <stl_iterator.h>

Inheritance diagram for std::front_insert_iterator< _Container >:

std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference > List of all members.

Public Types

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

Public Member Functions

 front_insert_iterator (_Container &__x)
 The only way to create this iterator is with a container.
front_insert_iteratoroperator= (typename _Container::const_reference __value)
front_insert_iteratoroperator * ()
 Simply returns *this.
front_insert_iteratoroperator++ ()
 Simply returns *this. (This iterator does not "move".).
front_insert_iterator operator++ (int)
 Simply returns *this. (This iterator does not "move".).

Protected Attributes

_Container * container

Detailed Description

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

Turns assignment into insertion.

These are output iterators, constructed from a container-of-T. Assigning a T to the iterator prepends it to the container using push_front.

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

Definition at line 458 of file stl_iterator.h.


Member Typedef Documentation

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

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

Definition at line 466 of file stl_iterator.h.


Constructor & Destructor Documentation

template<typename _Container>
std::front_insert_iterator< _Container >::front_insert_iterator ( _Container &  __x  )  [inline, explicit]

The only way to create this iterator is with a container.

Definition at line 469 of file stl_iterator.h.


Member Function Documentation

template<typename _Container>
front_insert_iterator& std::front_insert_iterator< _Container >::operator * (  )  [inline]

Simply returns *this.

Definition at line 491 of file stl_iterator.h.

template<typename _Container>
front_insert_iterator std::front_insert_iterator< _Container >::operator++ ( int   )  [inline]

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

Definition at line 501 of file stl_iterator.h.

template<typename _Container>
front_insert_iterator& std::front_insert_iterator< _Container >::operator++ (  )  [inline]

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

Definition at line 496 of file stl_iterator.h.

template<typename _Container>
front_insert_iterator& std::front_insert_iterator< _Container >::operator= ( 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 doesn't really have a "position" in the container (you can think of the position as being permanently at the front, if you like). Assigning a value to the iterator will always prepend the value to the front of the container.

Definition at line 483 of file stl_iterator.h.

References std::front_insert_iterator< _Container >::container.


Member Data Documentation

template<typename _Container>
_Container* std::front_insert_iterator< _Container >::container [protected]

Definition at line 462 of file stl_iterator.h.

Referenced by std::front_insert_iterator< _Container >::operator=().


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 16:59:11 2010 for GNU C++ STL by  doxygen 1.4.7