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
呼叫。 如果此呼叫傳回 true
,deallocate
便會將記憶體區塊放到可用清單上,如果傳回 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
將記憶體區塊放到可用清單上時,都會呼叫此成員函式。