Spec-Zone.ru › C++

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

template< class... Args >
void emplace_front( Args&&... args );
(начиная с C++11)
(до C++17)
template< class... Args >
reference emplace_front( Args&&... args );
(начиная с C++17)

Вставляет новый элемент в начало контейнера. Элемент конструируется с помощью std::allocator_traits::construct, который обычно использует placement-new для конструирования элемента на месте в области памяти, предоставленной контейнером. Аргументы args... передаются конструктору как std::forward<Args>(args)....

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

Параметры

args - аргументы, передаваемые конструктору элемента
Требования к типу
-T (the container's element type) должен удовлетворять требованиям EmplaceConstructible.

Возвращаемое значение

(нет) (до C++17)
Ссылка на вставленный элемент. (начиная с C++17)

Сложность

Постоянная.

Исключения

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

См. также

push_front
вставляет элемент в начало
(открытая функция-член)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/container/deque/emplace_front

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API