std::pmr::unsynchronized_pool_resource:: do_allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Public member functions | ||||
| Protected member functions | ||||
|
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()
を上流メモリリソースで呼び出す場合を除き、例外を送出しません。
関連項目
|
メモリを割り当てる
(
std::pmr::memory_resource
の公開メンバ関数)
|
|
|
[virtual]
|
メモリを割り当てる
(
std::pmr::memory_resource
の仮想プライベートメンバ関数)
|