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 |
allocates memory (public member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/memory/memory_resource/do_allocate