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à

network_link_registry

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.

Vedi anche

Spazio dei nomi concurrency
Classe single_link_registry