Namespaces
Variants

std::back_insert_iterator

De es.cppreference.net
 
 
Biblioteca de iteradores
Conceptos de iteradores
Primitivas de iteradores
Conceptos y utilidades de algoritmos
Conceptos invocables indirectos
Requisitos comunes de algoritmos
(C++20)
(C++20)
(C++20)
Utilidades
(C++20)
Adaptadores de iteradores
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 back_insert_iterator
    : public std::iterator<std::output_iterator_tag, void, void, void, void>
(hasta C++17)
template< class Container >
class back_insert_iterator;
(desde C++17)

std::back_insert_iterator es un LegacyOutputIterator que añade elementos a un contenedor para el cual fue construido. La función miembro push_back() del contenedor es llamada cada vez que se asigna al iterador (esté o no desreferenciado). Incrementar el std::back_insert_iterator es una operación nula.

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 miembros 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 back_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 (protegido) un puntero de tipo Container*

Ejemplo

#include <algorithm>
#include <iostream>
#include <iterator>
#include <vector>
int main()
{
    std::vector<int> v;
    std::generate_n(
        std::back_insert_iterator<std::vector<int>>(v),
            // O usar el ayudante std::back_inserter
            // O usar la sintaxis de C++17 std::back_insert_iterator(v)
        10,
        [n = 0]() mutable { return ++n; }
    );
    for (int n : v)
        std::cout << n << ' ';
    std::cout << '\n';
}

Salida:

1 2 3 4 5 6 7 8 9 10

Véase también

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