Freigeben über


multitype_join-Klasse

Ein multitype_join-Meldungsblock ist ein Block mit mehreren Quellen und einem einzelnen Ziel, der Meldungen verschiedener Typen aus allen Quellen kombiniert und dem Ziel ein Tupel der kombinierten Meldungen bereitstellt.

template<
   typename _Type,
   join_type _Jtype = non_greedy
>
class multitype_join: public ISource<typename _Unwrap<_Type>::type>;

Parameter

  • _Type
    Der tuple-Nutzlasttyp der Meldungen, die vom Block zusammengeführt und weitergegeben wurden.

  • _Jtype
    Die Art des join-Blocks, entweder greedy oder non_greedy.

Member

Öffentliche Typedefs

Name

Beschreibung

type

Ein Typalias für _Type.

Öffentliche Konstruktoren

Name

Beschreibung

multitype_join::multitype_join-Konstruktor

Überladen. Erstellt einen multitype_join-Meldungsblock.

multitype_join::~multitype_join-Destruktor

Zerstört den multitype_join-Meldungsblock.

Öffentliche Methoden

Name

Beschreibung

multitype_join::accept-Methode

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

multitype_join::acquire_ref-Methode

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

multitype_join::consume-Methode

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

multitype_join::link_target-Methode

Verknüpft einen Zielblock mit diesem multitype_join-Meldungsblock.

multitype_join::release-Methode

Gibt die Reservierung einer vorherigen erfolgreichen Meldung frei.

multitype_join::release_ref-Methode

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

multitype_join::reserve-Methode

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

multitype_join::unlink_target-Methode

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

multitype_join::unlink_targets-Methode

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

Hinweise

Weitere Informationen finden Sie unter Asynchrone Nachrichtenblöcke.

Vererbungshierarchie

ISource

multitype_join

Anforderungen

Header: agents.h

Namespace: Parallelität

Siehe auch

Referenz

concurrency-Namespace

choice-Klasse

join-Klasse

join_type-Enumeration

make_join-Funktion

make_greedy_join-Funktion

tuple-Klasse