std::back_insert_iterator
| 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
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
Container
|
|
Los tipos de miembros
|
(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) |