Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Das multi_link_registry-Objekt ist eine network_link_registry, die mehrere Quellblöcke oder mehrere Zielblöcke verwaltet.
Syntax
template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;
Parameter
_Block
Der Blockdatentyp, der multi_link_registry im Objekt gespeichert wird.
Member
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| multi_link_registry | Erstellt ein multi_link_registry-Objekt. |
| ~multi_link_registry Destruktor | Zerstört das multi_link_registry-Objekt. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| add | Fügt dem Objekt eine Verknüpfung hinzu multi_link_registry . (Überschreibt network_link_registry::add.) |
| begin | Gibt einen Iterator an das erste Element im multi_link_registry Objekt zurück. (Überschreibt network_link_registry::begin.) |
| contains | Durchsucht das multi_link_registry Objekt nach einem angegebenen Block. (Überschreibt network_link_registry::contains.) |
| count | Zählt die Anzahl der Elemente im multi_link_registry Objekt. (Überschreibt network_link_registry::count.) |
| remove | Entfernt einen Link aus dem multi_link_registry Objekt. (Überschreibt network_link_registry::remove.) |
| set_bound | Legt eine obere Grenze für die Anzahl der Verknüpfungen fest, die das multi_link_registry Objekt enthalten kann. |
Vererbungshierarchie
multi_link_registry
Anforderungen
Header: agents.h
Namespace: Parallelität
add
Fügt dem Objekt eine Verknüpfung hinzu multi_link_registry .
virtual void add(_EType _Link);
Parameter
_Verbinden
Ein Zeiger auf einen hinzuzufügenden Block.
Hinweise
Die Methode löst eine invalid_link_target Ausnahme aus, wenn der Link bereits in der Registrierung vorhanden ist oder eine Bindung bereits mit der set_bound Funktion festgelegt wurde und eine Verknüpfung seitdem entfernt wurde.
begin
Gibt einen Iterator an das erste Element im multi_link_registry Objekt zurück.
virtual iterator begin();
Rückgabewert
Ein Iterator, der das erste Element im multi_link_registry Objekt adressiert.
Hinweise
Der Endzustand wird durch einen NULL Link angegeben.
contains
Durchsucht das multi_link_registry Objekt nach einem angegebenen Block.
virtual bool contains(_EType _Link);
Parameter
_Verbinden
Ein Zeiger auf einen Block, nach dem multi_link_registry im Objekt gesucht werden soll.
Rückgabewert
true wenn der angegebene Block gefunden wurde, false andernfalls.
count
Zählt die Anzahl der Elemente im multi_link_registry Objekt.
virtual size_t count();
Rückgabewert
Die Anzahl der Elemente im multi_link_registry Objekt.
multi_link_registry
Erstellt ein multi_link_registry-Objekt.
multi_link_registry();
~multi_link_registry
Zerstört das multi_link_registry-Objekt.
virtual ~multi_link_registry();
Hinweise
Die Methode löst eine invalid_operation Ausnahme aus, wenn diese aufgerufen wird, bevor alle Verknüpfungen entfernt werden.
remove
Entfernt einen Link aus dem multi_link_registry Objekt.
virtual bool remove(_EType _Link);
Parameter
_Verbinden
Ein Zeiger auf einen zu entfernenden Block, falls gefunden.
Rückgabewert
true wenn der Link gefunden und entfernt wurde, false andernfalls.
set_bound
Legt eine obere Grenze für die Anzahl der Verknüpfungen fest, die das multi_link_registry Objekt enthalten kann.
void set_bound(size_t _MaxLinks);
Parameter
_MaxLinks
Die maximale Anzahl von Verknüpfungen, die das multi_link_registry Objekt enthalten kann.
Hinweise
Nachdem eine Bindung festgelegt wurde, führt das Aufheben der Verknüpfung eines Eintrags dazu, dass das multi_link_registry Objekt einen unveränderlichen Zustand eingibt, in dem weitere Aufrufe add eine invalid_link_target Ausnahme auslösen.