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