concurrent_vector 类是允许对任意元素进行随机访问的序列容器类。 它支持并发安全追加、元素访问、迭代器访问和迭代器遍历操作。
template<
   typename _Ty,
   class _Ax
>
class concurrent_vector: protected details::_Allocator_base<_Ty, _Ax>, private details::_Concurrent_vector_base_v4;
参数
- _Ty 
 要存储在向量中的元素的数据类型。
- _Ax 
 表示存储分配器对象的类型,该对象封装有关为并行向量分配和解除分配内存的详细信息。 该参数是可选的并且默认值为 allocator<_Ty**>**。
成员
公共 Typedefs
| Name | 说明 | 
|---|---|
| allocator_type | 表示适用于并发向量的分配器类的类型。 | 
| const_iterator | 提供可读取并发向量中 const 元素的随机访问迭代器的类型。 | 
| const_pointer | 提供指向并发向量中 const 元素的指针的类型。 | 
| const_reference | 提供对存储在并发向量中的 const 元素的引用从而读取和执行 const 操作的类型。 | 
| const_reverse_iterator | 提供可读取并发向量中任意 const 元素的随机访问迭代器的类型。 | 
| difference_type | 提供并发向量中两个元素之间符号距离的类型。 | 
| iterator | 提供可读取并发向量中任意元素的随机访问迭代器的类型。 使用迭代器修改元素不是并发安全操作。 | 
| pointer | 提供指向并发向量中元素的指针的类型。 | 
| reference | 提供对存储在并发向量中的元素的引用的类型。 | 
| reverse_iterator | 提供可读取反向并发向量中任意元素的随机访问迭代器的类型。 使用迭代器修改元素不是并发安全操作。 | 
| size_type | 计算并发向量中元素数量的类型。 | 
| value_type | 表示存储在并发中向量的数据类型的类型。 | 
公共构造函数
| Name | 说明 | 
|---|---|
| 已重载。 构造并发向量。 | |
| 清除所有元素并销毁此并发向量。 | 
公共方法
| Name | 说明 | 
|---|---|
| 已重载。 清除并发向量的元素,并向它分配 _Item 的 _N 副本,或分配由迭代器范围 [_Begin,_End] 指定的值。 此方法不是并发安全方法。 | |
| 已重载。 在并发矢量中的给定索引提供对元素的访问权限。 该方法对于读取操作是并发安全的,并且还增加向量,只要您确保值 _Index 小于并发向量的大小。 | |
| 已重载。 返回对并发向量中最后一个元素的引用或 const 引用。 如果并发向量为空,则返回值未定义。 此方法是并发安全方法。 | |
| 已重载。 返回指向并发向量开头的类型 iterator 或 const_iterator 的迭代器。 此方法是并发安全方法。 | |
| 返回无需分配更多内存的情况下并发向量可增长到的最大大小。 此方法是并发安全方法。 | |
| 返回指向并发向量开头的类型 const_iterator 的迭代器。 此方法是并发安全方法。 | |
| 返回指向并发向量末尾的类型 const_iterator 的迭代器。 此方法是并发安全方法。 | |
| 清除并发向量中的所有元素。 此方法不是并发安全方法。 | |
| 返回指向并发向量开头的类型 const_reverse_iterator 的迭代器。 此方法是并发安全方法。 | |
| 返回指向并发向量末尾的类型 const_reverse_iterator 的迭代器。 此方法是并发安全方法。 | |
| 测试在调用此方法时并发向量是否为空。 此方法是并发安全方法。 | |
| 已重载。 返回指向并发向量末尾的类型 iterator 或 const_iterator 的迭代器。 此方法是并发安全方法。 | |
| 已重载。 返回对并发向量中第一个元素的引用或 const 引用。 如果并发向量为空,则返回值未定义。 此方法是并发安全方法。 | |
| 返回用于构造并发向量的分配器副本。 此方法是并发安全方法。 | |
| 已重载。 通过 _Delta 元素增大此并发向量。 此方法是并发安全方法。 | |
| 增大此并发向量,直到它至少具有 _N 元素。 此方法是并发安全方法。 | |
| 返回并发向量可以保存的最大元素数。 此方法是并发安全方法。 | |
| 将指定项追加到并发向量的末尾。 此方法是并发安全方法。 | |
| 已重载。 返回指向并发向量开头的类型 reverse_iterator 或 const_reverse_iterator 的迭代器。 此方法是并发安全方法。 | |
| 已重载。 返回指向并发向量末尾的类型 reverse_iterator 或 const_reverse_iterator 的迭代器。 此方法是并发安全方法。 | |
| 分配足够的空间来增加并发向量以调整 _N 的大小,而无需以后分配更多内存。 此方法不是并发安全方法。 | |
| 已重载。 将并发向量的大小更改为所需大小,根据需要删除或添加元素。 此方法不是并发安全方法。 | |
| 压缩并发向量的内部表示法,以减少碎片并优化使用内存。 | |
| 返回并发向量中的元素数。 此方法是并发安全方法。 | |
| 交换两个并发向量的内容。 此方法不是并发安全方法。 | 
公共运算符
| Name | 说明 | 
|---|---|
| 已重载。 在并发矢量中的给定索引提供对元素的访问权限。 该方法对于读取操作是并发安全的,并且还增加向量,只要您确保值 _Index 小于并发向量的大小。 | |
| 已重载。 将另一 concurrent_vector 对象的内容分配到此对象中。 此方法不是并发安全方法。 | 
备注
有关 concurrent_vector 类的详细信息,请参见 并行容器和对象。
继承层次结构
_Allocator_base
_Concurrent_vector_base_v4
要求
**标头:**concurrent_vector.h
命名空间: 并发