Partager via


multi_link_registry, classe

L'objet multi_link_registry est un network_link_registry qui gère plusieurs blocs sources ou plusieurs blocs cibles.

Syntaxe

template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;

Paramètres

_Bloquer
Type de données de bloc stocké dans l’objet multi_link_registry .

Membres

Constructeurs publics

Nom Description
multi_link_registry Construit un objet multi_link_registry.
~multi_link_registry Destructeur Détruit l’objet multi_link_registry .

Méthodes publiques

Nom Description
add Ajoute un lien à l’objet multi_link_registry . (Remplace network_link_registry ::add.)
begin Retourne un itérateur au premier élément de l’objet multi_link_registry . (Remplace network_link_registry ::begin.)
contains Recherche l’objet multi_link_registry pour un bloc spécifié. (Remplace network_link_registry ::contains.)
count Compte le nombre d’éléments dans l’objet multi_link_registry . (Remplace network_link_registry ::count.)
remove Supprime un lien de l’objet multi_link_registry . (Substitue network_link_registry ::remove.)
set_bound Définit une limite supérieure sur le nombre de liens que l’objet multi_link_registry peut contenir.

Hiérarchie d'héritage

network_link_registry

multi_link_registry

Spécifications

En-tête : agents.h

Espace de noms : concurrency

add

Ajoute un lien à l’objet multi_link_registry .

virtual void add(_EType _Link);

Paramètres

_Lien
Pointeur vers un bloc à ajouter.

Notes

La méthode lève une exception invalid_link_target si le lien est déjà présent dans le Registre, ou si une liaison a déjà été définie avec la set_bound fonction et qu’un lien a été supprimé depuis.

begin

Retourne un itérateur au premier élément de l’objet multi_link_registry .

virtual iterator begin();

Valeur de retour

Itérateur qui traite le premier élément de l’objet multi_link_registry .

Notes

L’état de fin est indiqué par un NULL lien.

contains

Recherche l’objet multi_link_registry pour un bloc spécifié.

virtual bool contains(_EType _Link);

Paramètres

_Lien
Pointeur vers un bloc à rechercher dans l’objet multi_link_registry .

Valeur de retour

true si le bloc spécifié a été trouvé, false sinon.

count

Compte le nombre d’éléments dans l’objet multi_link_registry .

virtual size_t count();

Valeur de retour

Nombre d’éléments dans l’objet multi_link_registry .

multi_link_registry

Construit un objet multi_link_registry.

multi_link_registry();

~multi_link_registry

Détruit l’objet multi_link_registry .

virtual ~multi_link_registry();

Notes

La méthode lève une exception invalid_operation si elle est appelée avant que tous les liens ne soient supprimés.

remove

Supprime un lien de l’objet multi_link_registry .

virtual bool remove(_EType _Link);

Paramètres

_Lien
Pointeur vers un bloc à supprimer, s’il est trouvé.

Valeur de retour

true si le lien a été trouvé et supprimé, false sinon.

set_bound

Définit une limite supérieure sur le nombre de liens que l’objet multi_link_registry peut contenir.

void set_bound(size_t _MaxLinks);

Paramètres

_MaxLinks
Nombre maximal de liens que l’objet multi_link_registry peut contenir.

Notes

Une fois qu’une limite est définie, la dissociation d’une entrée entraîne l’entrée de l’objet multi_link_registry dans un état immuable où d’autres appels lèvent add une invalid_link_target exception.

Voir aussi

accès concurrentiel Namespace
single_link_registry, classe