Namespaces
Variants

Specialized <memory> algorithms

From cppreference.com
 
 
Algorithm library
Constrained algorithms and algorithms on ranges (C++20)
Constrained algorithms, e.g. ranges::copy, ranges::sort, ...
Non-modifying sequence operations    
Batch operations
(C++17)
Search operations
Modifying sequence operations
Copy operations
(C++11)
(C++11)
Swap operations
Transformation operations
Generation operations
Removing operations
Order-changing operations
(until C++17)(C++11)
(C++20)(C++20)
Sampling operations
(C++17)

Sorting and related operations
Partitioning operations
(C++11)    

Sorting operations
Binary search operations
(on partitioned ranges)
Set operations (on sorted ranges)
Merge operations (on sorted ranges)
Heap operations
Minimum/maximum operations
(C++11)
(C++17)
Lexicographical comparison operations
Permutation operations


 
 

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

Helper templates

obtains a void* pointer to a given lvalue object
(exposition-only function template*)[edit]
derefences an iterator, and moves the result if it is an lvalue
(exposition-only function template*)[edit]
specifies some operations on iterators are non-throwing
(exposition-only concept*)
specifies some operations on sentinels are non-throwing
(exposition-only concept*)
specifies some operations on ranges are non-throwing
(exposition-only concept*)

Object (batch) construction

Defined in header <memory>
creates an object at a given address
(function template & algorithm function object)[edit]
copies a range of objects to an uninitialized area of memory
(function template & algorithm function object)[edit]
copies a number of objects to an uninitialized area of memory
(function template & algorithm function object)[edit]
copies an object to an uninitialized area of memory, defined by a range
(function template & algorithm function object)[edit]
copies an object to an uninitialized area of memory, defined by a start and a count
(function template & algorithm function object)[edit]
moves a range of objects to an uninitialized area of memory
(function template & algorithm function object)[edit]
moves a number of objects to an uninitialized area of memory
(function template & algorithm function object)[edit]
constructs objects by default-initialization in an uninitialized area of memory, defined by a range
(function template & algorithm function object)[edit]
constructs objects by default-initialization in an uninitialized area of memory, defined by a start and a count
(function template & algorithm function object)[edit]
constructs objects by value-initialization in an uninitialized area of memory, defined by a range
(function template & algorithm function object)[edit]
constructs objects by value-initialization in an uninitialized area of memory, defined by a start and a count
(function template & algorithm function object)[edit]

Object (batch) destruction

Defined in header <memory>
destroys an object at a given address
(function template & algorithm function object)[edit]
(C++17)
destroys a range of objects
(function template & algorithm function object)[edit]
(C++17)
destroys a number of objects in a range
(function template & algorithm function object)[edit]