Namespaces
Variants

std::insert_iterator

De es.cppreference.net
 
 
Biblioteca de iteradores
Conceptos de iteradores
Primitivas de iterador
Conceptos y utilidades de algoritmos
Conceptos invocables indirectos
Requisitos comunes de algoritmos
(C++20)
(C++20)
(C++20)
Utilidades
(C++20)
Adaptadores de iterador
Acceso a rangos
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
Definido en el encabezado <iterator>
template< class Container >
class insert_iterator : public std::iterator<std::output_iterator_tag,
                                             void, void, void, void>
(hasta C++17)
template< class Container >
class insert_iterator;
(desde C++17)

std::insert_iterator es un LegacyOutputIterator que inserta elementos en un contenedor para el cual fue construido, en la posición señalada por el iterador proporcionado. La función miembro insert() del contenedor se llama cada vez que se asigna al iterador (ya sea desreferenciado o no). Incrementar el std::insert_iterator es no-op.

Tipos de miembros

Tipo de miembro Definición
iterator_category std:: output_iterator_tag
value_type void
difference_type

void

(hasta C++20)

std::ptrdiff_t

(desde C++20)
pointer void
reference void
container_type Container

Los tipos de miembro iterator_category , value_type , difference_type , pointer y reference deben obtenerse heredando de std:: iterator < std:: output_iterator_tag , void , void , void , void > .

(hasta C++17)

Funciones miembro

construye un nuevo insert_iterator
(función miembro pública)
inserta un objeto en el contenedor asociado
(función miembro pública)
operación nula
(función miembro pública)
operación nula
(función miembro pública)

Objetos miembro

Nombre del miembro Definición
container (objeto miembro protegido) un puntero de tipo Container*
iter (objeto miembro protegido) un iterador de tipo Container::iterator (hasta C++20) ranges::iterator_t<Container> (desde C++20)

Ejemplo

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

int main()
{
    std::vector<int> v{1, 2, 3, 4, 5};
    std::list<int> l{-1, -2, -3};
    std::copy(v.begin(), v.end(), // may be simplified with std::inserter
              std::insert_iterator<std::list<int>>(l, std::next(l.begin())));
    for (int n : l)
        std::cout << n << ' ';
    std::cout << '\n';
}

Salida:

-1 1 2 3 4 5 -2 -3

Véase también

crea un std::insert_iterator del tipo inferido del argumento
(plantilla de función)
adaptador de iterador para inserción al final de un contenedor
(plantilla de clase)
adaptador de iterador para inserción al frente de un contenedor
(plantilla de clase)