std:: front_insert_iterator
|
Определено в заголовочном файле
<iterator>
|
||
|
template
<
class
Container
>
class
front_insert_iterator
|
(до C++17) | |
|
template
<
class
Container
>
class front_insert_iterator ; |
(начиная с C++17) | |
std::front_insert_iterator
— это
LegacyOutputIterator
, который добавляет элементы в начало контейнера, для которого он был создан. Метод контейнера
push_front()
вызывается каждый раз, когда итератор (разыменованный или нет) подвергается присваиванию. Инкремент
std::front_insert_iterator
не выполняет никаких операций.
Содержание |
Типы членов
| Тип члена | Определение | ||||
iterator_category
|
std:: output_iterator_tag | ||||
value_type
|
void | ||||
difference_type
|
|
||||
pointer
|
void | ||||
reference
|
void | ||||
container_type
|
Container
|
|
Типы членов
|
(до C++17) |
Функции-члены
создает новый
front_insert_iterator
(публичная функция-член) |
|
|
вставляет объект в ассоциированный контейнер
(публичная функция-член) |
|
|
пустая операция
(публичная функция-член) |
|
|
пустая операция
(публичная функция-член) |
Объекты-члены
| Название члена | Определение |
container
(защищённый)
|
указатель типа Container * |
Пример
#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)); // или std::front_inserter(d) stb::println("{}", d); }
Вывод:
5 4 3 2 1
Смотрите также
|
создаёт
std::front_insert_iterator
с типом, выведенным из аргумента
(шаблон функции) |
|
|
адаптер итератора для вставки в конец контейнера
(шаблон класса) |
|
|
адаптер итератора для вставки в контейнер
(шаблон класса) |