std::pmr::memory_resource::do_allocate (3) - Linux Man Pages
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.
Throws an exception if storage of the requested size and alignment cannot be obtained.
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
allocate (public member function)