Поделиться через


Класс 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**>**.

Члены

Ee355343.collapse_all(ru-ru,VS.110).gifОткрытые определения типов

Имя

Описание

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

Тип, который представляет тип данных, хранящийся в параллельном векторе.

Ee355343.collapse_all(ru-ru,VS.110).gifОткрытые конструкторы

Имя

Описание

Конструктор concurrent_vector::concurrent_vector

Перегружен.Создает параллельный вектор.

Деструктор concurrent_vector::~concurrent_vector

Удаляет все элементы и уничтожает параллельный вектор.

Ee355343.collapse_all(ru-ru,VS.110).gifОткрытые методы

Имя

Описание

Метод concurrent_vector::assign

Перегружен.Удаляет элементы параллельного вектор и присваивает ему либо _N копий _Item или значения, заданные диапазоном итератора [_Begin, _End).Данный метод не безопасен в режиме параллелизма.

Метод concurrent_vector::at

Перегружен.Предоставляет доступ к элементу с заданным индексом в параллельном векторе.Этот метод является параллельно-безопасным для операций чтения, а также при росте вектора, до тех пор, пока гарантируется, что значение _Index меньше, чем размер параллельного вектора.

Метод concurrent_vector::back

Перегружен.Возвращает ссылку или ссылка const на последний элемент в параллельном векторе.Если параллельный вектор пуст, возвращаемое значение не определено.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::begin

Перегружен.Возвращает итератор типа iterator или const_iterator к началу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::capacity

Возвращает максимальный размер, до которого может расти параллельный вектор без необходимости выделить больше памяти.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::cbegin

Возвращает итератор типа const_iterator к началу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::cend

Возвращает итератор типа const_iterator к концу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::clear

Удаляет все элементы в параллельном векторе.Данный метод не безопасен в режиме параллелизма.

Метод concurrent_vector::crbegin

Возвращает итератор типа const_reverse_iterator к началу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::crend

Возвращает итератор типа const_reverse_iterator к концу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::empty

Проверяет, пуста ли параллельный вектор в момент, когда этот метод вызывается.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::end

Перегружен.Возвращает итератор типа iterator или const_iterator к концу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::front

Перегружен.Возвращает ссылку или ссылка const на первый элемент в параллельном векторе.Если параллельный вектор пуст, возвращаемое значение не определено.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::get_allocator

Возвращает копию распределителя, используемого для создания параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::grow_by

Перегружен.Увеличивает данный параллельный вектор на _Delta элементов.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::grow_to_at_least

Увеличивает данный параллельный вектор до тех пор, пока он не имеет по крайней мере _N элементов.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::max_size

Возвращает максимальное число элементов, которое может содержать параллельный вектор.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::push_back

Перегружен.Добавляет заданный элемент в конец параллельного вектор.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::rbegin

Перегружен.Возвращает итератор типа reverse_iterator или const_reverse_iterator к началу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::rend

Перегружен.Возвращает итератор типа reverse_iterator или const_reverse_iterator к концу параллельного вектора.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::reserve

Выделяет достаточно места для увеличения параллельного вектора до размера _N без необходимости выделить больше памяти позднее.Данный метод не безопасен в режиме параллелизма.

Метод concurrent_vector::resize

Перегружен.Изменение размера параллельного вектора на запрошенный размер, удаляя или добавляя элементов при необходимости.Данный метод не безопасен в режиме параллелизма.

Метод concurrent_vector::shrink_to_fit

Сжимает внутреннее представление параллельного вектора, чтобы сократить фрагментацию и оптимизировать использование памяти.Данный метод не безопасен в режиме параллелизма.

Метод concurrent_vector::size

Возвращает число элементов в параллельном векторе.Данный метод безопасен в режиме параллелизма.

Метод concurrent_vector::swap

Меняет местами содержимое двух параллельных векторов.Данный метод не безопасен в режиме параллелизма.

Ee355343.collapse_all(ru-ru,VS.110).gifОткрытые операторы

Имя

Описание

Оператор concurrent_vector::operator[]

Перегружен.Предоставляет доступ к элементу с заданным индексом в параллельном векторе.Этот метод является параллельно-безопасным для операций чтения, а также при росте вектора, до тех пор, пока гарантируется, что значение _Index меньше, чем размер параллельного вектора.

Оператор concurrent_vector::operator=

Перегружен.Назначает содержимое другого объекта concurrent_vector данному.Данный метод не безопасен в режиме параллелизма.

Заметки

Подробные сведения о классе concurrent_vector содержатся в разделе Параллельные контейнеры и объекты.

Иерархия наследования

_Concurrent_vector_base_v4

_Allocator_base

concurrent_vector

Требования

Заголовок: concurrent_vector.h

Параллелизм пространство имен:

См. также

Ссылки

Пространство имен concurrency

Основные понятия

Параллельные контейнеры и объекты