共用方式為


max_fixed_size 類別

描述 max 類別物件,此物件可將 freelist 物件的長度上限限制為固定值。

語法

template <std::size_t Max>
class max_fixed_size

參數

Max
max 類別,可決定要在 freelist 中儲存的元素數目上限。

建構函式

建構函式 描述
max_fixed_size 建構類型 max_fixed_size 的物件。

成員函式

成員函數 描述
allocated 遞增已配置的記憶體區塊計數。
deallocated 遞減已配置的記憶體區塊計數。
full 傳回指定是否應該為可用清單新增更多記憶體區塊的值。
released 遞減可用清單上的記憶體區塊計數。
saved 遞增可用清單上的記憶體區塊計數。

需求

Header:<allocators>

命名空間: stdext

max_fixed_size::allocated

遞增已配置的記憶體區塊計數。

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

參數

_Nx
遞增值。

備註

此成員函式不會執行任何動作。 每次 cache_freelist::allocate 成功呼叫運算子 new 之後,都會呼叫此成員函式。 自變數 _Nx 是運算子 new所配置區塊中的記憶體區塊數目。

max_fixed_size::d eallocated

遞減已配置的記憶體區塊計數。

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

參數

_Nx
遞增值。

備註

此成員函式不會執行任何動作。 每次 cache_freelist::deallocate 呼叫運算子 delete 之後,都會呼叫此成員函式。 自變數 _Nx 是運算元 delete解除分配之區塊中的記憶體區塊數目。

max_fixed_size::full

傳回指定是否應該為可用清單新增更多記憶體區塊的值。

bool full();

傳回值

如果是 Max <= _Nblocks,則為 true;否則為 false

備註

此成員函式會由 cache_freelist::deallocate 呼叫。 如果此呼叫傳回 truedeallocate 便會將記憶體區塊放到可用清單上,如果傳回 false,deallocate 則會呼叫運算子 delete 來將區塊解除配置。

max_fixed_size::max_fixed_size

建構類型 max_fixed_size 的物件。

max_fixed_size();

備註

此建構函式會將預存值 _Nblocks 初始化為零。

max_fixed_size::released

遞減可用清單上的記憶體區塊計數。

void released();

備註

遞減預存值 _Nblocks。 每當 cache_freelist::allocate 從可用清單中移除記憶體區塊時,都會呼叫目前 max 類別released 成員函式。

max_fixed_size::saved

遞增可用清單上的記憶體區塊計數。

void saved();

備註

此成員函式會遞增預存值 _Nblocks。 每當 cache_freelist::deallocate 將記憶體區塊放到可用清單上時,都會呼叫此成員函式。

另請參閱

<allocators>