multi_link_registry-Klasse
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.