Spec-Zone.ru › C++

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

См. также

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/unsynchronized_pool_resource/do_allocate

Spec-Zone.ru

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