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 の仮想プライベートメンバ関数)