C++ Iterator Library - back_insert_iterator



Description

It is an OutputIterator that appends to a container for which it was constructed.

Declaration

Following is the declaration for std::back_insert_iterator.

C++11

template <class Container> class back_insert_iterator;

Parameters

Container − It is a container class.

Return value

none

Exceptions

If x somehow throws while applying the unary operator& to it, this function never throws exceptions.

Time complexity

constant for random-access iterators.

Example

The following example shows the usage of std::back_insert_iterator.

#include <iostream>  
#include <iterator>  
#include <vector>    
#include <algorithm> 

int main () {
   std::vector<int> foo, bar;
   for (int i = 10; i >= 5; i--) {
      foo.push_back(i); bar.push_back(i*10);
   }

   std::back_insert_iterator< std::vector<int> > back_it (foo);

   std::copy (bar.begin(),bar.end(),back_it);

   std::cout << "foo:";
   for ( std::vector<int>::iterator it = foo.begin(); it!= foo.end(); ++it )
      std::cout << ' ' << *it;
   std::cout << '\n';

   return 0;
}

Let us compile and run the above program, this will produce the following result −

foo: 10 9 8 7 6 5 100 90 80 70 60 50
iterator.htm
Advertisements