std::pmr::unsynchronized_pool_resource:: do_allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Public member functions | ||||
| Protected member functions | ||||
|
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
)
|