std::insert_iterator< _Container > - Turns assignment into insertion.
Contents
Constructor & Destructor Documentation
template<typename_Container>constexprstd::insert_iterator<_Container>::insert_iterator(_Container&__x,_Iter__i)[inline],[constexpr]
The only way to create this iterator is with a container and an initial position (a normal iterator into
the container).
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.
Member Function Documentation
template<typename_Container>constexprinsert_iterator&std::insert_iterator<_Container>::operator*()[inline],[constexpr]
Simply returns *this.
template<typename_Container>constexprinsert_iterator&std::insert_iterator<_Container>::operator++()[inline],[constexpr]
Simply returns *this. (This iterator does not move.)
template<typename_Container>constexprinsert_iterator&std::insert_iterator<_Container>::operator++(int)[inline],[constexpr]
Simply returns *this. (This iterator does not move.)
template<typename_Container>constexprinsert_iterator&std::insert_iterator<_Container>::operator=(consttypename_Container::value_type&__value)[inline],[constexpr]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
Member Typedef Documentation
template<typename_Container>typedef_Containerstd::insert_iterator<_Container>::container_type
A nested typedef for the type of whatever container you used.
typedefoutput_iterator_tagstd::iterator<output_iterator_tag,void,void,void,void>::iterator_category[inherited]
One of the tagtypes.
typedefvoidstd::iterator<output_iterator_tag,void,void,void,void>::pointer[inherited]
This type represents a pointer-to-value_type.
typedefvoidstd::iterator<output_iterator_tag,void,void,void,void>::reference[inherited]
This type represents a reference-to-value_type.
typedefvoidstd::iterator<output_iterator_tag,void,void,void,void>::value_type[inherited]
The type 'pointed to' by the iterator.
Name
std::insert_iterator< _Container > - Turns assignment into insertion.
Synopsis
#include <iterator>
Inherits std::iterator<output_iterator_tag,void,void,void,void>.
PublicTypestypedef _Container container_type
A nested typedef for the type of whatever container you used.
usingdifference_type = ptrdiff_t
typedefoutput_iterator_tagiterator_category
One of the tagtypes.
typedefvoidpointer
This type represents a pointer-to-value_type.
typedefvoidreference
This type represents a reference-to-value_type.
typedefvoidvalue_type
The type 'pointed to' by the iterator.
PublicMemberFunctions
constexpr insert_iterator (_Container &__x, _Iter __i)
constexpr insert_iterator & operator* ()
Simply returns *this.
constexpr insert_iterator & operator++ ()
Simply returns *this. (This iterator does not move.)
constexpr insert_iterator & operator++ (int)
Simply returns *this. (This iterator does not move.)
constexpr insert_iterator & operator= (const typename _Container::value_type &__value)
constexpr insert_iterator & operator= (typename _Container::value_type &&__value)
ProtectedAttributes
_Container * container
_Iter iter