Freigeben über


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

network_link_registry

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.

Siehe auch

Concurrency-Namespace
single_link_registry-Klasse