Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis 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.