Scroll to navigation

std::pmr::memory_resource::allocate(3) C++ Standard Libary std::pmr::memory_resource::allocate(3)

NAME

std::pmr::memory_resource::allocate - std::pmr::memory_resource::allocate

Synopsis


void* allocate( std::size_t bytes, (since C++17)
std::size_t alignment = alignof(std::max_align_t) ); (until C++20)
[[nodiscard]] void* allocate( std::size_t bytes, (since C++20)
std::size_t alignment = alignof(std::max_align_t) );


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 alignment must be
unsupported honoured

See also


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

2022.07.31 http://cppreference.com