Freigeben über


choice-Klasse

Ein choice-Meldungsblock ist ein Block mit mehreren Quellen und einem einzelnen Ziel, der eine Kontrollflussinteraktion zwischen mehreren Quellen darstellt. Der Auswahlblock wartet, bis eine von mehreren Quellen eine Meldung erzeugt, und gibt den Index der Quelle, von der die Meldung erzeugt wurde, weiter.

template<
   class _Type
>
class choice: public ISource<size_t>;

Parameter

  • _Type
    Ein tuple-basierter Typ, der die Nutzlasten der Eingabequellen darstellt.

Member

Öffentliche Typedefs

Name

Beschreibung

type

Ein Typalias für _Type.

Öffentliche Konstruktoren

Name

Beschreibung

choice::choice-Konstruktor

Überladen. Erstellt einen choice-Meldungsblock.

choice::~choice-Destruktor

Zerstört den choice-Meldungsblock.

Öffentliche Methoden

Name

Beschreibung

choice::accept-Methode

Akzeptiert eine Meldung, die von diesem choice-Block angeboten wurde, und überträgt den Besitz an den Aufrufer.

choice::acquire_ref-Methode

Ruft eine Verweisanzahl für diesen choice-Meldungsblock ab, um das Löschen zu verhindern.

choice::consume-Methode

Nimmt eine Meldung an, die zuvor von diesem choice-Meldungsblock angeboten und vom Ziel erfolgreich reserviert wurde, und überträgt den Besitz an den Aufrufer.

choice::has_value-Methode

Überprüft, ob dieser choice-Meldungsblock bereits mit einem Wert initialisiert wurde.

choice::index-Methode

Gibt einen Index in das tuple zurück, der das mit dem choice-Meldungsblock ausgewählte Element darstellt.

choice::link_target-Methode

Verknüpft einen Zielblock mit diesem choice-Meldungsblock.

choice::release-Methode

Gibt die Reservierung einer vorherigen erfolgreichen Meldung frei.

choice::release_ref-Methode

Gibt auf diesem choice-Meldungsblock einen Verweiszähler frei.

choice::reserve-Methode

Reserviert eine Meldung, die zuvor von diesem choice-Meldungsblock angeboten wurde.

choice::unlink_target-Methode

Hebt die Verknüpfung eines Zielblocks mit diesem choice-Meldungsblock auf.

choice::unlink_targets-Methode

Hebt die Verknüpfung aller Ziele mit diesem choice-Meldungsblock auf. (Überschreibt ISource::unlink_targets.)

choice::value-Methode

Ruft die Meldung ab, deren Index vom choice-Meldungsblock ausgewählt wurde.

Hinweise

Der Auswahlblock stellt sicher, dass nur eine der eingehenden Nachrichten verarbeitet wird.

Weitere Informationen finden Sie unter Asynchrone Nachrichtenblöcke.

Vererbungshierarchie

ISource

choice

Anforderungen

Header: agents.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

join-Klasse

single_assignment-Klasse

make_choice-Funktion

tuple-Klasse