Namespaces
Variants

std::deque<T,Allocator>:: push_front

From cppreference.net

void push_front ( const T & value ) ;
(1) (constexpr desde C++26)
void push_front ( T && value ) ;
(2) (desde C++11)
(constexpr desde C++26)

Antepone una copia de value al principio del contenedor.

Todos los iteradores (incluyendo el end() iterator) quedan invalidados. Ninguna referencia queda invalidada.

Contenidos

Parámetros

value - el valor del elemento a anteponer
Requisitos de tipo
-

Si se satisface la siguiente condición, el comportamiento es indefinido:

1) T no es CopyInsertable en deque .
2) T no es MoveInsertable en deque .
(since C++11)

Complejidad

Constante.

Excepciones

Si se lanza una excepción por cualquier razón, estas funciones no tienen efecto ( strong exception safety guarantee ).

Ejemplo

#include <deque>
#include <iomanip>
#include <iostream>
#include <string>
int main()
{
    std::deque<std::string> letters;
    letters.push_front("me"); // sobrecarga (1)
    std::string s{"send"};
    letters.push_front(std::move(s)); // sobrecarga (2)
    std::cout << "std::deque letters holds: ";
    for (auto&& e : letters)
        std::cout << std::quoted(e) << ' ';
    std::cout << "\nMoved-from string s holds: " << std::quoted(s) << '\n';
}

Salida posible:

std::deque letters holds: "send" "me"
Moved-from string s holds: ""

Véase también

construye un elemento in-situ al principio
(función miembro pública)
añade un elemento al final
(función miembro pública)
elimina el primer elemento
(función miembro pública)
crea un std::front_insert_iterator del tipo inferido del argumento
(plantilla de función)