< cpp‎ | iterator
Revision as of 16:02, 2 November 2012 by P12bot (Talk | contribs)

Template:ddcl list begin <tr class="t-dsc-header">

Defined in header <iterator>

<td></td> <td></td> </tr> <tr class="t-dcl ">

<td class="t-dcl-nopad">
template< class Container >

class insert_iterator : public std::iterator< std::output_iterator_tag,

                                              void,void,void,void >

<td class="t-dcl-nopad"> </td> <td class="t-dcl-nopad"> </td> </tr> Template:ddcl list end

std::insert_iterator is an output iterator that inserts elements into a container for which it was constructed, at the position pointed to by the supplied iterator, using the container's insert() member function whenever the iterator (whether dereferenced or not) is assigned to. Incrementing the std::insert_iterator is a no-op.


Member types

Member type Definition
container_type Container

Member functions

Template:cpp/iterator/inserter/dcl list constructorTemplate:cpp/iterator/inserter/dcl list operator=Template:cpp/iterator/inserter/dcl list operator*Template:cpp/iterator/inserter/dcl list operator++

Member objects

Member name Definition
container (protected) a pointer of type Container*
iter (protected) an iterator of type Container::iterator

Member types

Member type Definition
value_type void
difference_type void
pointer void
reference void
iterator_category std::output_iterator_tag

Note: before C++17, these member types are required to be obtained by inheriting from std::iterator<std::output_iterator_tag,void,void,void,void>.


#include <vector>
#include <list>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
    std::vector<int> v{1,2,3,4,5};
    std::list<int> l{-1,-2,-3};
    std::copy(v.begin(), v.end(), // may be simplified with std::inserter
              std::insert_iterator<std::list<int>>(l, std::next(l.begin()))); 
    for(int n : l)
        std::cout << n << ' ';
    std::cout << '\n';


-1 1 2 3 4 5 -2 -3

See also

Template:cpp/iterator/dcl list inserterTemplate:cpp/iterator/dcl list back insert iteratorTemplate:cpp/iterator/dcl list front insert iterator