concurrent_vector 类
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
名称 |
说明 |
---|---|
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 |
表示存储在并发中向量的数据类型的类型。 |
公共构造函数
名称 |
说明 |
---|---|
已重载。构造并发向量。 |
|
清除所有元素并销毁此并发向量。 |
公共方法
名称 |
说明 |
---|---|
已重载。清除并发向量的元素,并向它分配 _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 的大小,而无需以后分配更多内存。此方法不是并发安全方法。 |
|
已重载。将并发向量的大小更改为所需大小,根据需要删除或添加元素。此方法不是并发安全方法。 |
|
压缩并发向量的内部表示法,以减少碎片并优化使用内存。此方法不是并发安全方法。 |
|
返回并发向量中的元素数。此方法是并发安全方法。 |
|
交换两个并发向量的内容。此方法不是并发安全方法。 |
公共运算符
名称 |
说明 |
---|---|
已重载。在并发矢量中的给定索引提供对元素的访问权限。该方法对于读取操作是并发安全的,并且还增加向量,只要您确保值 _Index 小于并发向量的大小。 |
|
已重载。将另一 concurrent_vector 对象的内容分配到此对象中。此方法不是并发安全方法。 |
备注
有关 concurrent_vector 类的详细信息,请参见 并行容器和对象。
继承层次结构
_Concurrent_vector_base_v4
_Allocator_base
concurrent_vector
要求
**标头:**concurrent_vector.h
命名空间: 并发