Spec-Zone.ru › C++

Specialized <memory> algorithms

In the algorithm library, some function templates construct and destroy objects in uninitialized memory buffers. They are declared and defined in <memory>.

Helper templates

voidify
obtains a void* pointer to a given lvalue object
(exposition-only function template*)
deref-move
(C++17)
derefences an iterator, and moves the result if it is an lvalue
(exposition-only function template*)
nothrow-input-iteratornothrow-forward-iteratornothrow-bidirectional-iteratornothrow-random-access-iterator
(C++20)(C++20)(C++26)(C++26)
specifies some operations on iterators are non-throwing
(exposition-only concept*)
nothrow-sentinel-fornothrow-sized-sentinel-for
(C++20)(C++26)
specifies some operations on sentinels are non-throwing
(exposition-only concept*)
nothrow-input-rangenothrow-forward-rangenothrow-bidirectional-rangenothrow-random-access-rangenothrow-sized-random-access-range
(C++20)(C++20)(C++26)(C++26)(C++26)
specifies some operations on ranges are non-throwing
(exposition-only concept*)

Object (batch) construction

Defined in header <memory>
construct_at
(C++20)
creates an object at a given address
(function template & algorithm function object)
ranges::construct_at
(C++20)
uninitialized_copy
copies a range of objects to an uninitialized area of memory
(function template & algorithm function object)
ranges::uninitialized_copy
(C++20)
uninitialized_copy_n
(C++11)
copies a number of objects to an uninitialized area of memory
(function template & algorithm function object)
ranges::uninitialized_copy_n
(C++20)
uninitialized_fill
copies an object to an uninitialized area of memory, defined by a range
(function template & algorithm function object)
ranges::uninitialized_fill
(C++20)
uninitialized_fill_n
copies an object to an uninitialized area of memory, defined by a start and a count
(function template & algorithm function object)
ranges::uninitialized_fill_n
(C++20)
uninitialized_move
(C++17)
moves a range of objects to an uninitialized area of memory
(function template & algorithm function object)
ranges::uninitialized_move
(C++20)
uninitialized_move_n
(C++17)
moves a number of objects to an uninitialized area of memory
(function template & algorithm function object)
ranges::uninitialized_move_n
(C++20)
uninitialized_default_construct
(C++17)
constructs objects by default-initialization in an uninitialized area of memory, defined by a range
(function template & algorithm function object)
ranges::uninitialized_default_construct
(C++20)
uninitialized_default_construct_n
(C++17)
constructs objects by default-initialization in an uninitialized area of memory, defined by a start and a count
(function template & algorithm function object)
ranges::uninitialized_default_construct_n
(C++20)
uninitialized_value_construct
(C++17)
constructs objects by value-initialization in an uninitialized area of memory, defined by a range
(function template & algorithm function object)
ranges::uninitialized_value_construct
(C++20)
uninitialized_value_construct_n
(C++17)
constructs objects by value-initialization in an uninitialized area of memory, defined by a start and a count
(function template & algorithm function object)
ranges::uninitialized_value_construct_n
(C++20)

Object (batch) destruction

Defined in header <memory>
destroy_at
(C++17)
destroys an object at a given address
(function template & algorithm function object)
ranges::destroy_at
(C++20)
destroy
(C++17)
destroys a range of objects
(function template & algorithm function object)
ranges::destroy
(C++20)
destroy_n
(C++17)
destroys a number of objects in a range
(function template & algorithm function object)
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