Namespaces
Variants

std:: front_insert_iterator

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(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 front_insert_iterator

: public std:: iterator < std:: output_iterator_tag , void , void , void , void >
(hasta C++17)
template < class Container >
class front_insert_iterator ;
(desde C++17)

std::front_insert_iterator es un LegacyOutputIterator que antepone elementos a un contenedor para el cual fue construido. La función miembro push_front() del contenedor es llamada cada vez que el iterador (ya sea desreferenciado o no) es asignado. Incrementar el std::front_insert_iterator es una operación nula.

Contenidos

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 front_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 <deque>
#include <iostream>
#include <iterator>
#include <vector>
namespace stb
{
    void println(auto, auto const& d)
    {
        std::ranges::copy(d, std::ostream_iterator<int>(std::cout, " "));
        std::cout << '\n';
    }
}
int main()
{
    std::vector<int> v{1, 2, 3, 4, 5};
    std::deque<int> d;
    std::copy(v.begin(), v.end(),
              std::front_insert_iterator<std::deque<int>>(d));
              // or std::front_inserter(d)
    stb::println("{}", d);
}

Salida:

5 4 3 2 1

Véase también

crea un std::front_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 en un contenedor
(plantilla de clase)