Специализированные <memory> алгоритмы
С сайта ru.cppreference.net
В библиотеке алгоритмов некоторые шаблоны функций конструируют и уничтожают объекты в буферах неинициализированной памяти. Они объявлены и определены в <memory>.
Вспомогательные шаблоны
получает void* указатель на заданный lvalue-объект(только для пояснения шаблон функции*) | |
(C++17) |
разыменовывает итератор и выполняет move, если результат является lvalue (только для пояснения шаблон функции*) |
(C++20)(C++20)(C++26)(C++26) |
указывает, что некоторые операции над итераторами не выбрасывают исключений (только для пояснения концепт*) |
(C++20)(C++26) |
указывает, что некоторые операции над дозорными не выбрасывают исключений (только для пояснения концепт*) |
(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) |
|
| конструирует объекты инициализацией по умолчанию в неинициализированной области памяти, определяемой диапазоном (шаблон функции & функциональный объект алгоритма) | |
| конструирует объекты инициализацией по умолчанию в неинициализированной области памяти, определяемой началом и количеством (шаблон функции & функциональный объект алгоритма) | |
| конструирует объекты инициализацией значением в неинициализированной области памяти, определяемой диапазоном (шаблон функции & функциональный объект алгоритма) | |
| конструирует объекты инициализацией значением в неинициализированной области памяти, определяемой началом и количеством (шаблон функции & функциональный объект алгоритма) | |
Пакетное уничтожение объектов
Определён в заголовке
<memory> | |
(C++17) |
уничтожает объект по заданному адресу (шаблон функции & функциональный объект алгоритма) |
(C++20) |
|
(C++17) |
уничтожает диапазон объектов (шаблон функции & функциональный объект алгоритма) |
(C++20) |
|
(C++17) |
уничтожает заданное количество объектов в диапазоне (шаблон функции & функциональный объект алгоритма) |
(C++20) |
|