Класс 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 |
Тип, который представляет тип данных, хранящийся в параллельном векторе. |
Открытые конструкторы
Имя |
Описание |
---|---|
Перегружен. Создает параллельный вектор. |
|
Удаляет все элементы и уничтожает параллельный вектор. |
Открытые методы
Имя |
Описание |
---|---|
Перегружен. Удаляет элементы параллельного вектор и присваивает ему либо _N копий _Item или значения, заданные диапазоном итератора [_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
Пространство имен: concurrency