freelist クラス
メモリ ブロックのリストを管理します。
構文
template <std::size_t Sz, class Max>
class freelist : public Max
パラメーター
Sz
割り当てられる配列内の要素の数。
Max (最大値)
フリー リストに格納される要素の最大数を示す最大クラス。 最大クラスは、max_none、max_unbounded、max_fixed_size、max_variable_size のいずれかにすることができます。
注釈
このクラス テンプレートは、サイズ Sz のメモリ ブロックのリストを管理します。リストの最大サイズは Max に渡される最大クラスによって決まります。
コンストラクター
| コンストラクター | 説明 |
|---|---|
| freelist | freelist 型のオブジェクトを構築します。 |
メンバー関数
| メンバー関数 | 説明 |
|---|---|
| pop | フリー リストから最初のメモリ ブロックを削除します。 |
| push | メモリ ブロックをリストに追加します。 |
要件
ヘッダー:<allocators>
名前空間: stdext
freelist::freelist
freelist 型のオブジェクトを構築します。
freelist();
注釈
freelist::pop
フリー リストから最初のメモリ ブロックを削除します。
void *pop();
戻り値
一覧から削除するメモリ ブロックへのポインターを返します。
注釈
一覧が空の場合、メンバー関数は NULL を返します。 それ以外の場合は、空き一覧から最初のメモリ ブロックを削除します。
freelist::push
メモリ ブロックをリストに追加します。
bool push(void* ptr);
パラメーター
ptr
フリー リストに追加するメモリ ブロックへのポインター。
戻り値
最大クラスの full 関数が false を返す場合は true、それ以外の場合、push 関数が false を返します。
注釈
最大クラスの full 関数が false を返す場合、このメンバー関数は、ptr が指すメモリ ブロックをリストの先頭に追加します。