Spec-Zone.ru › C++

Специализированные <memory> алгоритмы

В библиотеке алгоритмов некоторые шаблоны функций создают и уничтожают объекты в неинициализированных буферах памяти. Они объявлены и определены в <memory>.

Вспомогательные шаблоны

voidify
получает указатель void* на заданный объект lvalue
(шаблон функции только для описания*)
deref-move
(C++17)
разыменовывает итератор и перемещает результат, если он является lvalue
(шаблон функции только для описания*)
nothrow-input-iteratornothrow-forward-iteratornothrow-bidirectional-iteratornothrow-random-access-iterator
(C++20)(C++20)(C++26)(C++26)
указывает, что некоторые операции над итераторами не выбрасывают исключений
(концепт только для описания*)
nothrow-sentinel-fornothrow-sized-sentinel-for
(C++20)(C++26)
указывает, что некоторые операции над sentinel-объектами не выбрасывают исключений
(концепт только для описания*)
nothrow-input-rangenothrow-forward-rangenothrow-bidirectional-rangenothrow-random-access-rangenothrow-sized-random-access-range
(C++20)(C++20)(C++26)(C++26)(C++26)
указывает, что некоторые операции над диапазонами не выбрасывают исключений
(концепт только для описания*)

Создание объектов (пакетное)

Определено в заголовке <memory>
construct_at
(C++20)
создаёт объект по заданному адресу
(шаблон функции и функциональный объект алгоритма)
ranges::construct_at
(C++20)
uninitialized_copy
копирует диапазон объектов в неинициализированную область памяти
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_copy
(C++20)
uninitialized_copy_n
(C++11)
копирует заданное количество объектов в неинициализированную область памяти
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_copy_n
(C++20)
uninitialized_fill
копирует объект в неинициализированную область памяти, заданную диапазоном
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_fill
(C++20)
uninitialized_fill_n
копирует объект в неинициализированную область памяти, заданную начальной позицией и количеством элементов
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_fill_n
(C++20)
uninitialized_move
(C++17)
перемещает диапазон объектов в неинициализированную область памяти
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_move
(C++20)
uninitialized_move_n
(C++17)
перемещает заданное количество объектов в неинициализированную область памяти
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_move_n
(C++20)
uninitialized_default_construct
(C++17)
создаёт объекты с помощью инициализации по умолчанию в неинициализированной области памяти, заданной диапазоном
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_default_construct
(C++20)
uninitialized_default_construct_n
(C++17)
создаёт объекты с помощью инициализации по умолчанию в неинициализированной области памяти, заданной начальной позицией и количеством элементов
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_default_construct_n
(C++20)
uninitialized_value_construct
(C++17)
создаёт объекты с помощью инициализации значением в неинициализированной области памяти, заданной диапазоном
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_value_construct
(C++20)
uninitialized_value_construct_n
(C++17)
создаёт объекты с помощью инициализации значением в неинициализированной области памяти, заданной начальной позицией и количеством элементов
(шаблон функции и функциональный объект алгоритма)
ranges::uninitialized_value_construct_n
(C++20)

Уничтожение объектов (пакетное)

Определено в заголовке <memory>
destroy_at
(C++17)
уничтожает объект по заданному адресу
(шаблон функции и функциональный объект алгоритма)
ranges::destroy_at
(C++20)
destroy
(C++17)
уничтожает диапазон объектов
(шаблон функции и функциональный объект алгоритма)
ranges::destroy
(C++20)
destroy_n
(C++17)
уничтожает заданное количество объектов в диапазоне
(шаблон функции и функциональный объект алгоритма)
ranges::destroy_n
(C++20)

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

Spec-Zone.ru

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