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

另请参阅

<allocators>