Namespaces
Variants
Views
Actions

std::pmr::memory_resource::allocate

From cppreference.com
 
 
Dynamic memory management
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Allocators
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)



 
 
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);.

[edit] Exceptions

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

[edit] 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

[edit] See also

[virtual]
allocates memory
(virtual private member function) [edit]