Freigeben über


concurrent_priority_queue-Klasse

Die concurrent_priority_queue-Klasse ist ein Container, der es mehreren Threads gleichzeitig ermöglicht, für Elemente die Vorgänge "push" und "pop" auszuführen. Elemente werden in Reihenfolge ihrer Priorität per pop ausgelesen, wenn die Priorität mit einem als Vorlagenargument angegebenen Funktionselement bestimmt wird.

template <
   typename _Ty,
   typename _Compare=std::less<_Ty>,
   typename _Ax = std::allocator<_Ty>
>
, typename _Ax = std::allocator<_Ty> > class concurrent_priority_queue;

Parameter

  • _Ty
    Der Datentyp der in der Prioritätswarteschlange zu speichernden Elemente.

  • _Compare
    Der Typ des Funktionsobjekts, das zwei Elementwerte vergleichen kann z Sortierschlüssel, um ihre relative Position in der Prioritätswarteschlange zu bestimmen. Dieses Argument ist optional, und das binäre Prädikat less<_Ty**>** ist der Standardwert.

  • _Ax
    Der Typ, der das gespeicherte Zuweisungsobjekt darstellt, das Informationen über die Zuordnung und Freigabe des Speichers für die gleichzeitige Prioritätswarteschlange kapselt. Dieses Argument ist optional, und der Standardwert ist allocator<_Ty**>**.

Member

Öffentliche Typedefs

Name

Beschreibung

allocator_type

Ein Typ, der die allocator-Klasse für die gleichzeitige Prioritätswarteschlange darstellt.

const_reference

Ein Typ, der einen - Verweis auf ein Element des Typs darstellt, gespeicherten in einer gleichzeitigen Prioritätswarteschlange.

reference

Ein Typ, der einen Verweis auf ein Element des Typs darstellt, gespeicherten in einer gleichzeitigen Prioritätswarteschlange.

size_type

Ein Typ, der die Anzahl der Elemente in einer gleichzeitigen Prioritätswarteschlange zählt.

value_type

Ein Typ, der dem Datentyp darstellt, gespeicherten in einer gleichzeitigen Prioritätswarteschlange.

Öffentliche Konstruktoren

Name

Beschreibung

concurrent_priority_queue::concurrent_priority_queue-Konstruktor

Überladen. Erstellt eine gleichzeitige Prioritätswarteschlange.

Öffentliche Methoden

Name

Beschreibung

concurrent_priority_queue::clear-Methode

Löscht alle Elemente in der parallelen Priorität. Diese Methode ist nicht nebenläufigkeitssicher.

concurrent_priority_queue::empty-Methode

Tests, wenn die gleichzeitige Prioritätswarteschlange zum Zeitpunkt leer ist, diese Methode wird aufgerufen. Diese Methode ist nebenläufigkeitssicher.

concurrent_priority_queue::get_allocator-Methode

Gibt eine Kopie der Zuordnung zurück, die verwendet wird, um die gleichzeitige Prioritätswarteschlange zu erstellen. Diese Methode ist nebenläufigkeitssicher.

concurrent_priority_queue::push-Methode

Überladen. Fügt ein Element der gleichzeitigen Prioritätswarteschlange hinzu. Diese Methode ist nebenläufigkeitssicher.

concurrent_priority_queue::size-Methode

Gibt die Anzahl der Elemente in der parallelen Prioritätswarteschlange zurück. Diese Methode ist nebenläufigkeitssicher.

concurrent_priority_queue::swap-Methode

Vertauscht der Inhalt zweier gleichzeitigen Prioritätswarteschlangen aus. Diese Methode ist nicht nebenläufigkeitssicher.

concurrent_priority_queue::try_pop-Methode

Entfernt und gibt das höchste Element der Warteschlange zurück, wenn die Warteschlange nicht leer ist. Diese Methode ist nebenläufigkeitssicher.

Öffentliche Operatoren

Name

Beschreibung

concurrent_priority_queue::operator=-Operator

Überladen. Weist den Inhalt eines anderen concurrent_priority_queue-Objekts diesem Objekt zu. Diese Methode ist nicht nebenläufigkeitssicher.

Hinweise

Ausführliche Informationen zur concurrent_priority_queue-Klasse finden Sie unter Parallele Container und Objekte.

Vererbungshierarchie

concurrent_priority_queue

Anforderungen

Header: concurrent_priority_queue.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

Konzepte

Parallele Container und Objekte