max_variable_size 类
描述 max 类 对象,该对象将 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
增量值。
备注
此成员函数将 _Nx 添加到存储值 _Nallocs
。 每次调用成功后,cache_freelist::allocate
会将此成员函数调用到运算符 new
。 参数 _Nx 是运算符 new
分配的区块中的内存块数。
max_variable_size::deallocated
逐量减小已分配的内存块的计数。
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
。 每当当前 max 类的 released
成员函数从空闲列表中删除内存块时,cache_freelist::allocate
将对其进行调用。
max_variable_size::saved
逐量增加空闲列表上内存块的计数。
void saved();
备注
此成员函数逐量增加存储值 _Nblocks
。 每当此成员函数向空闲列表放入内存块时,cache_freelist::deallocate
将对其进行调用。