Descrição
Ele constrói um iterador de inserção que insere novos elementos em x em locais sucessivos, começando na posição apontada por ele.
Declaração
A seguir está a declaração para std :: inserter.
C ++ 11
template <class Container, class Iterator>
insert_iterator<Container> inserter (Container& x, Iterator it);
Parâmetros
x - É um container no qual o iterador irá inserir novos elementos.
Valor de retorno
Ele retorna um insert_iterator que insere elementos em x na posição indicada por ele.
Exceções
Se x de alguma forma lançar enquanto aplica o operador unário & a ele, esta função nunca lança exceções.
Complexidade de tempo
constante para iteradores de acesso aleatório.
Exemplo
O exemplo a seguir mostra o 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;
}
Vamos compilar e executar o programa acima, isso produzirá o seguinte resultado -
foo contains: 1 2 3 5 10 15 20 25 4 5