Share via


choice-Klasse

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

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

Beschreibungen

type

Ein Typalias für _Type.

Öffentliche Konstruktoren

Name

Beschreibungen

choice::choice-Konstruktor

Überladen. Erstellt einen choice-Meldungsblock.

choice::~choice-Destruktor

Zerstört den choice-Meldungsblock.

Öffentliche Methoden

Name

Beschreibungen

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: Concurrency

Siehe auch

Referenz

Concurrency-Namespace

join-Klasse

single_assignment-Klasse

make_choice-Funktion

tuple Class