std::pmr::memory_resource::allocate

From cppreference.com
 
 
Dynamic memory management
Smart pointers
(C++11)
(C++11)
(C++11)
(until C++17)
(C++11)
(C++23)
Allocators
Memory resources
Uninitialized storage
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Garbage collection support
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
Miscellaneous
(C++20)
(C++11)
(C++11)
 
 
void* allocate( std::size_t bytes,
                std::size_t alignment = alignof(std::max_align_t) );
(since C++17)
(until C++20)
[[nodiscard]] void* allocate( std::size_t bytes,
                              std::size_t alignment = alignof(std::max_align_t) );
(since C++20)

Allocates storage with a size of at least bytes bytes, aligned to the specified alignment.

Equivalent to return do_allocate(bytes, alignment);.

Exceptions

Throws an exception if storage of the requested size and alignment cannot be obtained.

Defect reports

The following behavior-changing defect reports were applied retroactively to previously published C++ standards.

DR Applied to Behavior as published Correct behavior
LWG 2843  ??? over-alignment was allowed to be unsupported alignment must be honoured

See also

[virtual]
allocates memory
(virtual private member function)