Spec-Zone.ru › C++

std::pmr::synchronized_pool_resource::do_allocate

virtual void* do_allocate( std::size_t bytes, std::size_t alignment );
(since C++17)

Выделяет память.

Если пул, выбранный для блока размером bytes, не может удовлетворить запрос из своих внутренних структур данных, вызывает allocate() для получения памяти от верхнего уровня источника памяти.

Если запрашиваемый размер больше, чем может обработать самый большой пул, память выделяется вызовом allocate() от верхнего уровня источника памяти.

Значение возврата

Указатель на выделенную память размером не менее bytes байт, выровненную по указанному alignment, если такая выравнивание поддерживается, и по alignof(std::max_align_t) в противном случае.

Исключения

Не выбрасывает ничего, если вызов allocate() для верхнего уровня источника памяти не выбрасывает исключение.

См. также

allocate
выделяет память
(общедоступный член-функция std::pmr::memory_resource)
do_allocate
[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/synchronized_pool_resource/do_allocate

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API