single_assignment-Klasse
Ein single_assignment-Meldungsblock ist ein geordneter propagator_block mit mehreren Zielen und mehreren Quellen, der eine einzelne, einmal beschreibbare message speichern kann.
template<
class _Type
>
class single_assignment : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
Parameter
- _Type
Der Nutzlasttyp der Meldung, die vom Puffer gespeichert und weitergegeben wurde.
Member
Öffentliche Konstruktoren
Name |
Beschreibungen |
---|---|
Überladen. Erstellt einen single_assignment-Meldungsblock. |
|
Zerstört den single_assignment-Meldungsblock. |
Öffentliche Methoden
Name |
Beschreibungen |
---|---|
Überprüft, ob dieser single_assignment-Meldungsblock bereits mit einem Wert initialisiert wurde. |
|
Ruft einen Verweis auf die aktuelle Nutzlast der Meldung ab, die im single_assignment-Meldungsblock gespeichert ist. |
Geschützte Methoden
Name |
Beschreibungen |
---|---|
Akzeptiert eine Meldung, die von diesem single_assignment-Meldungsblock angeboten wurde, und gibt eine Kopie der Meldung an den Aufrufer zurück. |
|
Nimmt eine Meldung an, die zuvor von single_assignment angeboten und vom Ziel reserviert wurde, und gibt eine Kopie der Meldung an den Aufrufer zurück. |
|
Ein Rückruf, der meldet, dass ein neues Ziel mit diesem single_assignment-Meldungsblock verknüpft wurde. |
|
Übergibt eine Meldung asynchron von einem ISource-Block an diesen single_assignment-Meldungsblock. Wird bei Aufruf durch einen Quellblock von der propagate-Methode aufgerufen. |
|
Fügt message_PMessage in diesen single_assignment-Meldungsblock ein und bietet sie allen verknüpften Zielen an. |
|
Gibt die Reservierung einer vorherigen Meldung frei. (Überschreibt source_block::release_message.) |
|
Reserviert eine Meldung, die zuvor von diesem single_assignment-Meldungsblock angeboten wurde. (Überschreibt source_block::reserve_message.) |
|
Setzt die Weitergabe fort, nachdem eine Reservierung freigegeben wurde. (Überschreibt source_block::resume_propagation.) |
|
Übergibt eine Meldung synchron von einem ISource-Block an diesen single_assignment-Meldungsblock. Wird bei Aufruf durch einen Quellblock von der send-Methode aufgerufen. |
Hinweise
Ein single_assignment-Meldungsblock gibt Kopien seiner Meldungen an jedes Ziel weiter.
Weitere Informationen finden Sie unter Asynchrone Nachrichtenblöcke.
Vererbungshierarchie
Anforderungen
Header: agents.h
Namespace: Concurrency