std::pmr::unsynchronized_pool_resource::do_allocate
virtual void* do_allocate( std::size_t bytes, std::size_t alignment ); | (с C++17) |
Выделяет память.
Если выбранный пул для блока размером bytes не может удовлетворить запрос из своих внутренних структур данных, вызывает allocate() у базового ресурса памяти для получения памяти.
Если запрашиваемый размер больше, чем может обработать самый большой пул, память выделяется вызовом allocate() у базового ресурса памяти.
Возвращаемое значение
Указатель на выделенную память размером как минимум bytes байт, выровненную по указанному alignment, если такое выравнивание поддерживается, и по alignof(std::max_align_t) в противном случае.
Исключения
Ничего не выбрасывает, если вызов allocate() у базового ресурса памяти не вызывает исключение.
См. также
| выделяет память (общедоступный член-функция std::pmr::memory_resource) |
|
|
[virtual] | выделяет память (виртуальная закрытая функция-член std::pmr::memory_resource) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/unsynchronized_pool_resource/do_allocate