Класс concurrent_priority_queue
Класс concurrent_priority_queue — это контейнер, который позволяет нескольким потокам параллельно класть и извлекать элементы. Элементы извлекаются в порядке приоритета, определяемого функтором, предоставленным в качестве аргумента шаблона.
template <
typename _Ty,
typename _Compare=std::less<_Ty>,
typename _Ax = std::allocator<_Ty>
>
, typename _Ax = std::allocator<_Ty> > class concurrent_priority_queue;
Параметры
_Ty
Тип данных элементов, хранимых в очереди с приоритетом._Compare
Тип объекта функции, который может сравнивать значения двух элементов в качестве ключей сортировки для определения относительного порядка в очереди с приоритетом. Этот аргумент является необязательным, и бинарный предикат less<_Ty**>** является значением по умолчанию._Ax
Тип, представляющий хранимый объект распределителя, инкапсулирующий сведения о распределении и освобождении памяти для очереди с приоритетом. Этот аргумент является необязательным и значение по умолчанию — allocator<_Ty**>**.
Члены
Общедоступные Typedefs
Имя |
Описание |
---|---|
allocator_type |
Тип, представляющий класс распределителя для параллельной очереди с приоритетом. |
const_reference |
Тип, представляющий константную ссылку на элемент типа хранящихся в параллельной очереди с приоритетом. |
reference |
Тип, представляющий ссылку на элемент типа хранящихся в параллельной очереди с приоритетом. |
size_type |
Тип, который подсчитывает число элементов в параллельной очереди с приоритетом. |
value_type |
Тип, который представляет тип данных, хранящихся в параллельной очереди с приоритетом. |
Открытые конструкторы
Имя |
Описание |
---|---|
Конструктор concurrent_priority_queue::concurrent_priority_queue |
Перегружен. Создает параллельную очередь с приоритетом. |
Открытые методы
Имя |
Описание |
---|---|
Удаляет все элементы в параллельной очереди с приоритетом. Данный метод не безопасен в режиме параллелизма. |
|
Проверяет, пуста ли параллельная очередь с приоритетом в момент, когда этот метод вызывается. Данный метод безопасен в режиме параллелизма. |
|
Возвращает копию распределителя, используемого для создания параллельной очереди с приоритетом. Данный метод безопасен в режиме параллелизма. |
|
Перегружен. Добавляет элемент в параллельную очередь с приоритетом. Данный метод безопасен в режиме параллелизма. |
|
Возвращает число элементов, которые находятся в параллельной очереди с приоритетом. Данный метод безопасен в режиме параллелизма. |
|
Обмен содержимого двух параллельных очередей с приоритетом. Данный метод не безопасен в режиме параллелизма. |
|
Удаляет и возвращает элемент наивысшего приоритета из очереди, если очередь не пуста. Данный метод безопасен в режиме параллелизма. |
Открытые операторы
Имя |
Описание |
---|---|
Перегружен. Назначает содержимое другого объекта concurrent_priority_queue данному. Данный метод не безопасен в режиме параллелизма. |
Заметки
Подробные сведения о классе concurrent_priority_queue содержатся в разделе Параллельные контейнеры и объекты.
Иерархия наследования
concurrent_priority_queue
Требования
Заголовок: concurrent_priority_queue.h
Пространство имен: concurrency