Namespaces
Variants

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

From cppreference.net

void push_front ( const T & value ) ;
(1) (constexpr начиная с C++26)
void push_front ( T && value ) ;
(2) (начиная с C++11)
(constexpr начиная с C++26)

Добавляет копию value в начало контейнера.

Все итераторы (включая end() итератор) инвалидируются. Никакие ссылки не инвалидируются.

Содержание

Параметры

value - значение элемента для добавления в начало
Требования к типу
-

Если выполняется следующее условие, поведение не определено:

1) T не является CopyInsertable в deque .
2) T не является MoveInsertable в deque .
(since C++11)

Сложность

Константа.

Исключения

Если исключение выбрасывается по любой причине, эти функции не оказывают никакого эффекта ( strong exception safety guarantee ).

Пример

#include <deque>
#include <iomanip>
#include <iostream>
#include <string>
int main()
{
    std::deque<std::string> letters;
    letters.push_front("me"); // перегрузка (1)
    std::string s{"send"};
    letters.push_front(std::move(s)); // перегрузка (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';
}

Возможный вывод:

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

Смотрите также

создаёт элемент на месте в начале
(public member function)
добавляет элемент в конец
(public member function)
удаляет первый элемент
(public member function)
создаёт std::front_insert_iterator типа, выведенного из аргумента
(function template)