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 将对其进行调用。

另请参阅

<allocators>