std::pmr:: unsynchronized_pool_resource
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
std::pmr::unsynchronized_pool_resource
| Public member functions | ||||
| Protected member functions | ||||
|
ヘッダーで定義
<memory_resource>
|
||
|
class
unsynchronized_pool_resource
:
public
std::
pmr
::
memory_resource
;
|
(C++17以降) | |
クラス
std::pmr::unsynchronized_pool_resource
は、以下の特性を持つ汎用メモリリソースクラスです:
-
確保されたメモリを所有し、一部の割り当てブロックに対して
deallocateが呼び出されていない場合でも、破棄時にメモリを解放します。 - 異なるブロックサイズの要求を処理する プール の集合で構成されています。各プールは均一なサイズのブロックに分割された チャンク の集合を管理します。
- do_allocate の呼び出しは、要求されたサイズを収容できる最小ブロックを提供するプールに振り分けられます。
- プール内のメモリが枯渇すると、そのプールに対する次の割り当て要求により、 上流アロケータ から追加のメモリチャンクを割り当ててプールを補充します。取得されるチャンクサイズは幾何級数的に増加します。
- 最大ブロックサイズを超える割り当て要求は、 上流アロケータ から直接提供されます。
- 最大ブロックサイズと最大チャンクサイズは、 std::pmr::pool_options 構造体をコンストラクタに渡すことで調整可能です。
unsynchronized_pool_resource
はスレッドセーフではなく、複数のスレッドから同時にアクセスすることはできません。複数のスレッドからのアクセスが必要な場合は、
synchronized_pool_resource
を使用してください。
メンバー関数
unsynchronized_pool_resource
を構築する
(public member function) |
|
|
[virtual]
|
unsynchronized_pool_resource
を破棄し、全ての割り当てられたメモリを解放する
(virtual public member function) |
|
operator=
[deleted]
|
コピー代入演算子は削除されている。
unsynchronized_pool_resource
はコピー代入不可
(public member function) |
公開メンバ関数 |
|
|
全ての割り当てられたメモリを解放する
(public member function) |
|
|
上流メモリリソースへのポインタを返す
(public member function) |
|
|
このリソースのプーリング動作を制御するオプションを返す
(public member function) |
|
保護メンバ関数 |
|
|
[virtual]
|
メモリを割り当てる
(virtual protected member function) |
|
[virtual]
|
メモリをプールに返す
(virtual protected member function) |
|
[virtual]
|
他の
std::pmr::memory_resource
との等値比較を行う
(virtual protected member function) |