Namespaces
Variants

std::pmr::unsynchronized_pool_resource:: do_allocate

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
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 )