Biblioteca de iteradores de C ++: insertador

Descripción

Construye un iterador de inserción que inserta nuevos elementos en x en ubicaciones sucesivas comenzando en la posición señalada por él.

Declaración

A continuación se muestra la declaración para std :: inserter.

C ++ 11

template <class Container, class Iterator>
  insert_iterator<Container> inserter (Container& x, Iterator it);

Parámetros

x - Es un contenedor en el que el iterador insertará nuevos elementos.

Valor devuelto

Devuelve un insert_iterator que inserta elementos en x en la posición indicada por él.

Excepciones

Si x arroja de alguna manera al aplicar el operador unario &, esta función nunca arroja excepciones.

Complejidad del tiempo

constante para iteradores de acceso aleatorio.

Ejemplo

El siguiente ejemplo muestra el uso de std :: inserter.

#include <iostream>
#include <iterator> 
#include <list>
#include <algorithm>

int main () {
   std::list<int> foo,bar;
   for (int i = 1; i <= 5; i++) {
      foo.push_back(i); bar.push_back(i*5);
   }

   std::list<int>::iterator it = foo.begin();
   advance (it,3);

   std::copy (bar.begin(),bar.end(),std::inserter(foo,it));

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

   return 0;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

foo contains: 1 2 3 5 10 15 20 25 4 5