scoped_allocator_adaptor 类

表示分配器嵌套。

template<class Outer, class... Inner>
    class scoped_allocator_adaptor;

备注

模板选件类封装一个或多个分配器嵌套。每个这样选件类具有类型 outer_allocator_typeOuter的同义词一个最外面的分配器,是 scoped_allocator_adaptor 对象的公共基。Outer 用来指定容器将使用的内存。可以获取对该分配程序基对象是通过调用 outer_allocator

嵌套的其余部分具有类型 inner_allocator_type。内部分配器用于将元素分配的内存是在容器中。可以获取对该类型中存储的对象通过调用 inner_allocator。如果 Inner... 不为空,inner_allocator_type 具有类型 scoped_allocator_adaptor<Inner...;AMP_gt;,并且,inner_allocator 指定一个成员对象。否则,inner_allocator_type 具有类型 scoped_allocator_adaptor<Outer;AMP_gt;,并且,inner_allocator 指定整个对象。

嵌套的行为,就象它具有任意深度,复制其最里层中封装的分配器根据需要。

不可见接口来帮助部分以描述此模板选件类行为的几个概念。一个 最外面的分配器 干预对的所有调用构造和销毁方法。它是有效的递归函数 OUTERMOST(X)定义的,OUTERMOST(X) 是之一。

  • 如果 X.outer_allocator() 正确,则 OUTERMOST(X) 是 OUTERMOST(X.outer_allocator())。

  • 否则,OUTERMOST(X) 为 X。

三个类型为博览会定义:

类型

说明

Outermost

OUTERMOST(*this) 的类型。

Outermost_traits

allocator_traits<Outermost>

Outer_traits

allocator_traits<Outer>

Hh972427.collapse_all(zh-cn,VS.110).gif构造函数

名称

说明

scoped_allocator_adaptor::scoped_allocator_adaptor 构造函数

构造 scoped_allocator_adaptor 对象。

Hh972427.collapse_all(zh-cn,VS.110).gifTypedef

名称

说明

const_pointer

此类型是与该分配器 Outerconst_pointer 的同义词。

const_void_pointer

此类型是与该分配器 Outerconst_void_pointer 的同义词。

difference_type

此类型是与该分配器 Outerdifference_type 的同义词。

inner_allocator_type

此类型是嵌套适配器 scoped_allocator_adaptor<Inner...;AMP_gt;的类型的同义词。

outer_allocator_type

此类型是基分配器 Outer的类型的同义词。

pointer

此类型是 pointer 的同义词与该分配器 Outer。

propagate_on_container_copy_assignment

该类型应用,仅当 Outer_traits::propagate_on_container_copy_assignment 将或 inner_allocator_type::propagate_on_container_copy_assignment 适用。

propagate_on_container_move_assignment

该类型应用,仅当 Outer_traits::propagate_on_container_move_assignment 将或 inner_allocator_type::propagate_on_container_move_assignment 适用。

propagate_on_container_swap

该类型应用,仅当 Outer_traits::propagate_on_container_swap 将或 inner_allocator_type::propagate_on_container_swap 适用。

size_type

此类型是 size_type 的同义词与该分配器 Outer。

value_type

此类型是 value_type 的同义词与该分配器 Outer。

void_pointer

此类型是 void_pointer 的同义词与该分配器 Outer。

Hh972427.collapse_all(zh-cn,VS.110).gif结构

名称

说明

scoped_allocator_adaptor::rebind 结构

定义类型 Outer::rebind<Other;AMP_gt;::other 作为 scoped_allocator_adaptor<Other, Inner...;AMP_gt;的同义词。

Hh972427.collapse_all(zh-cn,VS.110).gif方法

名称

说明

scoped_allocator_adaptor::allocate 方法

使用 Outer 分配器,分配内存。

scoped_allocator_adaptor::construct 方法

构造对象。

scoped_allocator_adaptor::deallocate 方法

通过使用外部分配器,释放对象。

scoped_allocator_adaptor::destroy 方法

销毁一个指定的对象。

scoped_allocator_adaptor::inner_allocator 方法

检索对类型 inner_allocator_type中的对象。

scoped_allocator_adaptor::max_size 方法

确定可由外层分配器分配的对象的最大数。

scoped_allocator_adaptor::outer_allocator 方法

检索对类型 outer_allocator_type中的对象。

scoped_allocator_adaptor::select_on_container_copy_construction 方法

通过调用初始化的每个单元的分配器对象创建新的 scoped_allocator_adaptor 对象每个相应的分配器的 select_on_container_copy_construction

要求

标头: <scoped_allocator>

命名空间: std

请参见

其他资源

标头文件