# std::back_insert_iterator< Container > Class Template Reference

Turns assignment into insertion. More...

`#include <stl_iterator.h>`

Inheritance diagram for std::back_insert_iterator< Container >:

[legend]
Collaboration diagram for std::back_insert_iterator< Container >:

[legend]
List of all members.

## Public Types

typedef Container | container_type
| A nested typedef for the type of whatever container you used.
typedef output_iterator_tag | iterator_category
| One of the tag types.
typedef void | value_type
| The type "pointed to" by the iterator.
typedef void | difference_type
| Distance between iterators is represented as this type.
typedef void | pointer
| This type represents a pointer-to-value_type.
typedef void | reference
| This type represents a reference-to-value_type.

## Public Member Functions

| back_insert_iterator (Container &x)
| The only way to create this iterator is with a container.
back_insert_iterator & | operator= (typename Container::const_reference value)
back_insert_iterator & | operator * ()
| Simply returns *this.
back_insert_iterator & | operator++ ()
| Simply returns *this. (This iterator does not "move".).
back_insert_iterator | operator++ (int)
| Simply returns *this. (This iterator does not "move".).

## Detailed Description

### template<typename Container>
class std::back_insert_iterator< Container >

Turns assignment into insertion.

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

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

Definition at line 347 of file stl_iterator.h.

## Member Typedef Documentation

template<typename Container>
typedef Container std::back_insert_iterator< Container >::container_type

| A nested typedef for the type of whatever container you used. Definition at line 355 of file stl_iterator.h.

typedef void std::iterator< output_iterator_tag , void , void , void , void >::difference_type `[inherited]`

| Distance between iterators is represented as this type. Definition at line 113 of file stl_iterator_base_types.h.

typedef output_iterator_tag std::iterator< output_iterator_tag , void , void , void , void >::iterator_category `[inherited]`

| One of the tag types. Definition at line 109 of file stl_iterator_base_types.h.

typedef void std::iterator< output_iterator_tag , void , void , void , void >::pointer `[inherited]`

| This type represents a pointer-to-value_type. Definition at line 115 of file stl_iterator_base_types.h.

typedef void std::iterator< output_iterator_tag , void , void , void , void >::reference `[inherited]`

| This type represents a reference-to-value_type. Definition at line 117 of file stl_iterator_base_types.h.

typedef void std::iterator< output_iterator_tag , void , void , void , void >::value_type `[inherited]`

| The type "pointed to" by the iterator. Definition at line 111 of file stl_iterator_base_types.h.

## Constructor & Destructor Documentation

template<typename Container>
std::back_insert_iterator< Container >::back_insert_iterator | ( | Container & | x | ) | `[inline, explicit]`

| The only way to create this iterator is with a container. Definition at line 359 of file stl_iterator.h. References std::back_insert_iterator< Container >::operator=().

## Member Function Documentation

template<typename Container>
back_insert_iterator& std::back_insert_iterator< Container >::operator * | ( |  | ) | `[inline]`

| Simply returns *this. Definition at line 381 of file stl_iterator.h.

template<typename Container>
back_insert_iterator std::back_insert_iterator< Container >::operator++ | ( | int |  | ) | `[inline]`

| Simply returns *this. (This iterator does not "move".). Definition at line 391 of file stl_iterator.h.

template<typename Container>
back_insert_iterator& std::back_insert_iterator< Container >::operator++ | ( |  | ) | `[inline]`

| Simply returns *this. (This iterator does not "move".). Definition at line 386 of file stl_iterator.h.

template<typename Container>
back_insert_iterator& std::back_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 end, if you like). Assigning a value to the iterator will always append the value to the end of the container.

Definition at line 373 of file stl_iterator.h.

Referenced by std::back_insert_iterator< Container >::back_insert_iterator().

The documentation for this class was generated from the following file:

- stl_iterator.h