std::insert_iterator(3)
NAME
std::insert_iterator
SYNOPSIS
Inherits std::iterator< std::output_iterator_tag, void, void, void, void >.
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 557 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
- insert_iterator (_Container &__x, typename _Container::iterator __i)
insert_iterator & operator* ()
insert_iterator & operator++ (int)
insert_iterator & operator++ ()
insert_iterator & operator= (typename _Container::const_reference
__value)
- Protected Attributes
- _Container * container
_Container::iterator iter
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 566 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 117 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 113 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::reverse_iterator< _Iterator >.
- Definition at line 119 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::reverse_iterator< _Iterator >.
- Definition at line 121 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.
- Definition at line 115 of file stl_iterator_base_types.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 572 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 618 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 628 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 623 of file stl_iterator.h.
- template<typename _Container> insert_iterator& std::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 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 Zinsert_iterator i (v, ++v.begin());
i = 1;
i = 2;
i = 3;// vector v contains A, 1, 2, 3, and Z - Definition at line 599 of file stl_iterator.h.
Author
- Generated automatically by Doxygen for libstdc++ from the source code.