Namespaces
Variants

std::list<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.

No se invalidan iteradores ni referencias.

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 list .
2) T no es MoveInsertable en list .
(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 <list>
#include <iomanip>
#include <iostream>
#include <string>
int main()
{
    std::list<std::string> letters;
    letters.push_front("me"); // overload (1)
    std::string s{"send"};
    letters.push_front(std::move(s)); // overload (2)
    std::cout << "std::list 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::list letters holds: "send" "me"
Moved-from string s holds: ""

Véase también

construye un elemento en el lugar 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)