次の方法で共有


max_variable_size クラス

割り当てたメモリ ブロックの数にほぼ比例した最長値までに freelist オブジェクトを制御する、最大クラス オブジェクトを記述します。

構文

class max_variable_size

コンストラクター

コンストラクター 説明
max_variable_size max_variable_size 型のオブジェクトを構築します。

メンバー関数

メンバー関数 説明
allocated 割り当てられたメモリ ブロックの数を増やします。
deallocated 割り当てられたメモリ ブロックの数を減らします。
full フリー リストにメモリ ブロックを追加する必要があるかどうかを示す値を返します。
released フリー リスト上のメモリ ブロックの数を減らします。
saved フリー リスト上のメモリ ブロックの数を減らします。

要件

ヘッダー: <allocators>

名前空間: stdext

max_variable_size::allocated

割り当てられたメモリ ブロックの数を増やします。

void allocated(std::size_t _Nx = 1);

パラメーター

_Nx
増分値。

解説

このメンバー関数は、格納されている値 _Nallocs_Nx を追加します。 このメンバー関数は、cache_freelist::allocate による演算子 new への呼び出しが成功するたび、その後に呼び出されます。 引数 _Nx は、演算子 new によって割り当てられたチャンク内のメモリ ブロックの数です。

max_variable_size::d eallocated

割り当てられたメモリ ブロックの数を減らします。

void deallocated(std::size_t _Nx = 1);

パラメーター

_Nx
増分値。

解説

このメンバー関数は、格納されている値 _Nallocs から _Nx を減算します。 このメンバー関数は、cache_freelist::deallocate による演算子 delete への呼び出しがあるたび、その後に呼び出されます。 引数 _Nx は、演算子 delete によって割り当て解除されたチャンク内のメモリ ブロックの数です。

max_variable_size::full

フリー リストにメモリ ブロックを追加する必要があるかどうかを示す値を返します。

bool full();

戻り値

_Nallocs / 16 + 16 <= _Nblocks の場合は true

解説

このメンバー関数は cache_freelist::deallocate によって呼び出されます。 呼び出しが true を返すと、deallocate はメモリ ブロックをフリー リストに置きます。false を返す場合は、deallocate は演算子 delete を呼び出してブロックの割り当てを解除します。

max_variable_size::max_variable_size

max_variable_size 型のオブジェクトを構築します。

max_variable_size();

解説

このコンストラクターは、格納された値 _Nblocks および _Nallocs をゼロに初期化します。

max_variable_size::released

フリー リスト上のメモリ ブロックの数を減らします。

void released();

解説

このメンバー関数は、格納された値 _Nblocks を減らします。 現在の最大クラスの released メンバー関数は、cache_freelist::allocate によって、フリー リストからメモリ ブロックが削除されるたびに、呼び出されます。

max_variable_size::saved

フリー リスト上のメモリ ブロックの数を減らします。

void saved();

解説

このメンバー関数は、格納された値 _Nblocks を増やします。 このメンバー関数は、cache_freelist::deallocate によって、フリー リストにメモリ ブロックが置かれるたびに、呼び出されます。

関連項目

<allocators>