std::pmr::memory_resource::do_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)
 
 
virtual void* do_allocate( std::size_t bytes, std::size_t alignment ) = 0;
(since C++17)

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

alignment shall be a power of two.

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 C++17 handling of unsupported alignment contradictory throws an exception

See also

allocates memory
(public member function)