insert_iterator, inserter


An iterator that inserts items using an auxiliary iterator.

Library

Standards<ToolKit>

Declaration


#include <iterator>

template< Container >
class insert_iterator : public output_iterator

Adaptor


template< class Container, class Iterator > insert_iterator< Container > inserter( Container& c, Iterator iter );

Interface

Constructor
insert_iterator( Container& container , typename Container::iterator iter )
Constructs an iterator to use auxiliary iterator iter on container .
=
insert_iterator< Container >& operator=( const value_type& value )
Inserts a copy of value using the iterator iter that constructed the iterator.
*
insert_iterator< Container >& operator *()
Returns a reference to the iterator.
++
insert_iterator< Container >& operator++()
Advances and returns a reference to the iterator.
++
insert_iterator< Container > operator++( int )
Advances and returns a copy of the iterator.
Example <ospace/osstd/examples/insert1.cpp>
#include <iostream>
#include <algorithm>
#include <deque>
#include <iterator>

char* array1[] = { "laurie", "jennifer", "leisa" };
char* array2[] = { "amanda", "saskia", "carrie" };

void
main()
  {
  deque< char* > names( array1, array1 + 3 );
  deque<::iterator i = names.begin() + 2;
  copy( array2, array2 + 3, insert_iterator< deque< char* > >( names, i ));
    char_s_deque::iterator j;
    for ( j = names.begin(); j != names.end(); ++j )
      cout << *j << "\n";
  }

laurie
jennifer
amanda
saskia
carrie
leisa
Example <ospace/osstd/examples/insert2.cpp>
#include <iostream>
#include <algorithm>
#include <deque>
#include <iterator>

char* array1[] = { "laurie", "jennifer", "leisa" };
char* array2[] = { "amanda", "saskia", "carrie" };

void
main()
  {
  deque< char* > names( array1, array1 + 3 );
  deque< char* >::iterator i = names.begin() + 2;

  copy( array2, array2 + 3, inserter( names, i ) );

  deque< char* >::iterator j;
  for ( j = names.begin(); j != names.end(); ++j )
    cout << *j << "\n";
  }

laurie
jennifer
amanda
saskia
carrie
leisa

Copyright©1994-2026 Recursion Software LLC
All Rights Reserved - For use by licensed users only.