Spec-Zone.ru › C++

std::pmr::synchronized_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() для вышестоящего ресурса памяти не выбрасывает исключение.

См. также

allocate
выделяет память
(открытая функция-член std::pmr::memory_resource)
do_allocate
[виртуальная]
выделяет память
(виртуальная закрытая функция-член std::pmr::memory_resource)

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/synchronized_pool_resource/do_allocate

Spec-Zone.ru

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