Специализированные <memory> алгоритмы
В библиотеке алгоритмов некоторые шаблоны функций создают и уничтожают объекты в неинициализированных буферах памяти. Они объявлены и определены в <memory>.
Вспомогательные шаблоны
| получает указатель void* на заданный объект lvalue (шаблон функции только для описания*) |
|
|
(C++17) | разыменовывает итератор и перемещает результат, если он является lvalue (шаблон функции только для описания*) |
|
(C++20)(C++20)(C++26)(C++26) | указывает, что некоторые операции над итераторами не выбрасывают исключений (концепт только для описания*) |
|
(C++20)(C++26) | указывает, что некоторые операции над sentinel-объектами не выбрасывают исключений (концепт только для описания*) |
|
(C++20)(C++20)(C++26)(C++26)(C++26) | указывает, что некоторые операции над диапазонами не выбрасывают исключений (концепт только для описания*) |
Создание объектов (пакетное)
Определено в заголовке <memory> |
|
|---|---|
|
(C++20) | создаёт объект по заданному адресу (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
| копирует диапазон объектов в неинициализированную область памяти (шаблон функции и функциональный объект алгоритма) |
|
|
(C++20) | |
|
(C++11) | копирует заданное количество объектов в неинициализированную область памяти (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
| копирует объект в неинициализированную область памяти, заданную диапазоном (шаблон функции и функциональный объект алгоритма) |
|
|
(C++20) | |
| копирует объект в неинициализированную область памяти, заданную начальной позицией и количеством элементов (шаблон функции и функциональный объект алгоритма) |
|
|
(C++20) | |
|
(C++17) | перемещает диапазон объектов в неинициализированную область памяти (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | перемещает заданное количество объектов в неинициализированную область памяти (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | создаёт объекты с помощью инициализации по умолчанию в неинициализированной области памяти, заданной диапазоном (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | создаёт объекты с помощью инициализации по умолчанию в неинициализированной области памяти, заданной начальной позицией и количеством элементов (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | создаёт объекты с помощью инициализации значением в неинициализированной области памяти, заданной диапазоном (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | создаёт объекты с помощью инициализации значением в неинициализированной области памяти, заданной начальной позицией и количеством элементов (шаблон функции и функциональный объект алгоритма) |
|
(C++20) |
Уничтожение объектов (пакетное)
Определено в заголовке <memory> |
|
|---|---|
|
(C++17) | уничтожает объект по заданному адресу (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | уничтожает диапазон объектов (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
|
(C++17) | уничтожает заданное количество объектов в диапазоне (шаблон функции и функциональный объект алгоритма) |
|
(C++20) | |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/algorithm/memory