scoped_allocator_adaptor 类
表示分配程序嵌套。
template<class Outer, class... Inner>
class scoped_allocator_adaptor;
备注
模板类封装一个或多个分配程序嵌套。 此类具有每个 outer_allocator_type类型,Outer的同义词一个最外层的分配器,即 scoped_allocator_adaptor 对象的公共基。 使用Outer 容器将使用分配的内存。 您可以通过调用 outer_allocator获取对此分配程序基对象的引用。
嵌套的其余部分具有类型 inner_allocator_type。 一种内部分配程序用于将元素分配的内存在容器中。 您可以通过调用 inner_allocator获取对此类型存储的对象的引用。 如果 Inner... 不为空,inner_allocator_type 具有类型 scoped_allocator_adaptor<Inner...>,这样,inner_allocator 指定一个成员对象。 否则,inner_allocator_type 具有类型 scoped_allocator_adaptor<Outer>,这样,inner_allocator 指定整个对象。
嵌套的行为,就好像它具有任意深度,复制其最内层的封装的分配器。需要。
不可见接口来帮助部分介绍此模板类行为的几个概念。 一个 最外层的分配器 干预所有调用构造并销毁方法。 它是由 OUTERMOST(X)定义的,OUTERMOST(X) 是有效递归函数之一。
如果 X.outer_allocator() 是" WellFormed "则 OUTERMOST(X) 为 OUTERMOST(X.outer_allocator())。
否则,OUTERMOST(X) 为 X。
三种类型为博览会定义:
类型 |
说明 |
---|---|
Outermost |
OUTERMOST(*this) 的类型。 |
Outermost_traits |
allocator_traits<Outermost> |
Outer_traits |
allocator_traits<Outer> |
构造函数
Name |
说明 |
---|---|
构造 scoped_allocator_adaptor 对象。 |
Typedef
Name |
说明 |
---|---|
const_pointer |
此类型是的同义词程序与分配 Outerconst_pointer。 |
const_void_pointer |
此类型是的同义词程序与分配 Outerconst_void_pointer。 |
difference_type |
此类型是的同义词程序与分配 Outerdifference_type。 |
inner_allocator_type |
此类型是的同义词适配器嵌套的 scoped_allocator_adaptor<Inner...>的类型。 |
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。 |
结构
Name |
说明 |
---|---|
定义类型 Outer::rebind<Other>::other 作为 scoped_allocator_adaptor<Other, Inner...>的同义词。 |
方法
Name |
说明 |
---|---|
使用 Outer 分配程序,分配内存。 |
|
构造对象。 |
|
使用 extern 分配器,释放对象。 |
|
销毁一指定的对象。 |
|
检索对 inner_allocator_type类型的对象的引用。 |
|
确定可由分配外部程序分配的对象的最大数量。 |
|
检索对 outer_allocator_type类型的对象的引用。 |
|
scoped_allocator_adaptor::select_on_container_copy_construction 方法 |
创建带有调用的初始化每个存储的分配器对象的新的 scoped_allocator_adaptor 对象对应的每个分配程序的 select_on_container_copy_construction。 |
要求
页眉: <scoped_allocator>
命名空间: std