Namespaces
Variants
Views
Actions

std::insert_iterator

From cppreference.com
< cpp | iterator
Revision as of 17:25, 19 April 2012 by P12bot (Talk | contribs)

Template:cpp/iterator/insert iterator/sidebar

Defined in header <iterator>
template< class Container >

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

                                              void,void,void,void >

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.

Contents

Member types

Template:tdcl list begin Template:tdcl list hitem Template:tdcl list item Template:tdcl list end

Member objects

Template:tdcl list begin Template:tdcl list hitem Template:tdcl list item Template:tdcl list item Template:tdcl list end

Member functions

constructs a new back_insert_iterator
(public member function)
inserts an object into the associated container
(public member function)
no-op
(public member function)
no-op
(public member function)

Inherited from std::iterator

Member types

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

Example

#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';
}

Output:

-1 1 2 3 4 5 -2 -3

See also

creates a std::insert_iterator of type inferred from the argument
(function template) [edit]
iterator adaptor for insertion at the end of a container
(class template) [edit]
iterator adaptor for insertion at the front of a container
(class template) [edit]