max_fixed_size 类
描述 max 类 对象,该对象将 freelist 对象的最大长度限制为固定的最大长度。
语法
template <std::size_t Max>
class max_fixed_size
参数
最大
max 类,用于决定要存储于 freelist
中的最大元素数目。
构造函数
构造函数 | 说明 |
---|---|
max_fixed_size | 构造 max_fixed_size 类型的对象。 |
成员函数
成员函数 | 说明 |
---|---|
allocated | 逐量增加已分配的内存块的计数。 |
deallocated | 逐量减小已分配的内存块的计数。 |
full | 返回一个值,该值指定是否应将更多的内存块添加到空闲列表。 |
released | 逐量减小空闲列表上内存块的计数。 |
saved | 逐量增加空闲列表上内存块的计数。 |
要求
标头:<allocators>
命名空间: stdext
max_fixed_size::allocated
逐量增加已分配的内存块的计数。
void allocated(std::size_t _Nx = 1);
参数
_Nx
增量值。
备注
此成员函数不执行任何操作。 每次调用成功后,cache_freelist::allocate
会将此成员函数调用到运算符 new
。 参数 _Nx 是运算符 new
分配的区块中的内存块数。
max_fixed_size::deallocated
逐量减小已分配的内存块的计数。
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
。 每当当前 max 类的 released
成员函数从空闲列表中删除内存块时,cache_freelist::allocate
将对其进行调用。
max_fixed_size::saved
逐量增加空闲列表上内存块的计数。
void saved();
备注
此成员函数逐量增加存储值 _Nblocks
。 每当此成员函数向空闲列表放入内存块时,cache_freelist::deallocate
将对其进行调用。