std::back_insert_iterator

NAME

std::back_insert_iterator -

SYNOPSIS


Inherits std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >< std::output_iterator_tag, void, void, void, void >.

Detailed Description

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

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 385 of file stl_iterator.h.

Public Types

typedef _Container container_type
typedef _Distance difference_type
typedef _Category iterator_category
typedef _Pointer pointer
typedef _Reference reference
typedef _Tp value_type

Public Member Functions

back_insert_iterator (_Container &__x)
back_insert_iterator & operator * ()
back_insert_iterator operator++ (int)
back_insert_iterator & operator++ ()
back_insert_iterator & operator= (typename _Container::const_reference __value)

Protected Attributes

_Container * container

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 393 of file stl_iterator.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&> typedef _Distance std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::difference_type [inherited]

Distance between iterators is represented as this type.
Reimplemented in std::reverse_iterator< _Iterator >.
Definition at line 111 of file stl_iterator_base_types.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&> typedef _Category std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::iterator_category [inherited]

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

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&> typedef _Pointer std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::pointer [inherited]

This type represents a pointer-to-value_type.
Reimplemented in std::_Bit_iterator, std::_Bit_const_iterator, std::reverse_iterator< _Iterator >, __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >, and __gnu_cxx::_Rope_iterator< _CharT, _Alloc >.
Definition at line 113 of file stl_iterator_base_types.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&> typedef _Reference std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::reference [inherited]

This type represents a reference-to-value_type.
Reimplemented in std::_Bit_iterator, std::_Bit_const_iterator, std::reverse_iterator< _Iterator >, __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >, and __gnu_cxx::_Rope_iterator< _CharT, _Alloc >.
Definition at line 115 of file stl_iterator_base_types.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&> typedef _Tp std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::value_type [inherited]

The type 'pointed to' by the iterator.
Reimplemented in __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >.
Definition at line 109 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 397 of file stl_iterator.h.

Member Function Documentation

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

Simply returns *this.
Definition at line 419 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 429 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 424 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 411 of file stl_iterator.h.

Author

Generated automatically by Doxygen for libstdc++ from the source code.