Classe multi_link_registry
L'oggetto multi_link_registry
è un network_link_registry
che gestisce più blocchi di origine o più blocchi di destinazione.
Sintassi
template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;
Parametri
_Blocco
Tipo di dati di blocco archiviato nell'oggetto multi_link_registry
.
Membri
Costruttori pubblici
Nome | Descrizione |
---|---|
multi_link_registry | Costruisce un oggetto multi_link_registry . |
Distruttore ~multi_link_registry | Elimina definitivamente l'oggetto multi_link_registry . |
Metodi pubblici
Nome | Descrizione |
---|---|
add | Aggiunge un collegamento all'oggetto multi_link_registry . (Esegue l'override di network_link_registry::add. |
begin | Restituisce un iteratore al primo elemento dell'oggetto multi_link_registry . (Esegue l'override di network_link_registry::begin. |
contains | Cerca nell'oggetto multi_link_registry un blocco specificato. (Esegue l'override di network_link_registry::contains. |
count | Conta il numero di elementi nell'oggetto multi_link_registry . (Esegue l'override di network_link_registry::count. |
remove | Rimuove un collegamento dall'oggetto multi_link_registry . (Esegue l'override di network_link_registry::remove. |
set_bound | Imposta un limite superiore sul numero di collegamenti che l'oggetto multi_link_registry può contenere. |
Gerarchia di ereditarietà
multi_link_registry
Requisiti
Intestazione: agents.h
Spazio dei nomi: Concurrency
add (aggiungi)
Aggiunge un collegamento all'oggetto multi_link_registry
.
virtual void add(_EType _Link);
Parametri
_Collegamento
Puntatore a un blocco da aggiungere.
Osservazioni:
Il metodo genera un'eccezione invalid_link_target se il collegamento è già presente nel Registro di sistema o se è già stato impostato un limite con la set_bound
funzione e un collegamento è stato rimosso.
begin
Restituisce un iteratore al primo elemento dell'oggetto multi_link_registry
.
virtual iterator begin();
Valore restituito
Iteratore che punta al primo elemento dell'oggetto multi_link_registry
.
Osservazioni:
Lo stato finale è indicato da un NULL
collegamento.
contains
Cerca nell'oggetto multi_link_registry
un blocco specificato.
virtual bool contains(_EType _Link);
Parametri
_Collegamento
Puntatore a un blocco da cercare nell'oggetto multi_link_registry
.
Valore restituito
true
se il blocco specificato è stato trovato; in caso contrario, false
.
numero
Conta il numero di elementi nell'oggetto multi_link_registry
.
virtual size_t count();
Valore restituito
Numero di elementi nell'oggetto multi_link_registry
.
multi_link_registry
Costruisce un oggetto multi_link_registry
.
multi_link_registry();
~multi_link_registry
Elimina definitivamente l'oggetto multi_link_registry
.
virtual ~multi_link_registry();
Osservazioni:
Il metodo genera un'eccezione invalid_operation se viene chiamata prima che vengano rimossi tutti i collegamenti.
remove
Rimuove un collegamento dall'oggetto multi_link_registry
.
virtual bool remove(_EType _Link);
Parametri
_Collegamento
Puntatore a un blocco da rimuovere, se trovato.
Valore restituito
true
se il collegamento è stato trovato e rimosso, false
in caso contrario.
set_bound
Imposta un limite superiore sul numero di collegamenti che l'oggetto multi_link_registry
può contenere.
void set_bound(size_t _MaxLinks);
Parametri
_MaxLinks
Numero massimo di collegamenti che l'oggetto multi_link_registry
può contenere.
Osservazioni:
Una volta impostato un limite, lo scollegamento di una voce comporta l'impostazione dello stato non modificabile per l'oggetto multi_link_registry
, pertanto tramite le chiamate successive a add
verrà generata un'eccezione invalid_link_target
.