Compartir vía


multi_link_registry (Clase)

El objeto multi_link_registry es un network_link_registry que administra varios bloques de origen o varios bloques de destino.

Sintaxis

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

Parámetros

_Block
El tipo de datos de bloque que se almacena en el objeto multi_link_registry.

Miembros

Constructores públicos

Nombre Descripción
multi_link_registry Construye un objeto multi_link_registry.
~multi_link_registry Destructor Destruye el objeto multi_link_registry.

Métodos públicos

Nombre Descripción
agregar Agrega un vínculo al objeto multi_link_registry. (Invalida network_link_registry::add.)
begin Devuelve un iterador al primer elemento del objeto multi_link_registry. (Invalida network_link_registry::begin.)
contains Busca en el objeto multi_link_registry un bloque especificado. (Invalida network_link_registry::contains.)
count Cuenta el número de elementos del objeto multi_link_registry. (Invalida network_link_registry::count.)
remove Quita un vínculo del objeto multi_link_registry. (Invalida network_link_registry::remove.)
set_bound Establece un límite superior del número de vínculos que el objeto multi_link_registry puede contener.

Jerarquía de herencia

network_link_registry

multi_link_registry

Requisitos

Encabezado: agents.h

Espacio de nombres: simultaneidad

add

Agrega un vínculo al objeto multi_link_registry.

virtual void add(_EType _Link);

Parámetros

_Link
Puntero a un bloque que se va a agregar.

Comentarios

El método produce una excepción invalid_link_target si el vínculo ya está presente en el registro, o si ya se ha establecido un límite con la función set_bound y se ha quitado un vínculo.

begin

Devuelve un iterador al primer elemento del objeto multi_link_registry.

virtual iterator begin();

Valor devuelto

Iterador que direcciona el primer elemento del objeto multi_link_registry.

Comentarios

El estado final se indica mediante un enlace NULL.

contains

Busca en el objeto multi_link_registry un bloque especificado.

virtual bool contains(_EType _Link);

Parámetros

_Link
Puntero a un bloque que se va a buscar en el objeto multi_link_registry.

Valor devuelto

true si se ha encontrado el bloque especificado; de lo contrario, false.

count

Cuenta el número de elementos del objeto multi_link_registry.

virtual size_t count();

Valor devuelto

Número de elementos del multi_link_registry objeto.

multi_link_registry

Construye un objeto multi_link_registry.

multi_link_registry();

~multi_link_registry

Destruye el objeto multi_link_registry.

virtual ~multi_link_registry();

Comentarios

El método produce una excepción invalid_operation si se llama antes de quitar todos los vínculos.

remove

Quita un vínculo del objeto multi_link_registry.

virtual bool remove(_EType _Link);

Parámetros

_Link
Puntero a un bloque que se va a quitar, si se encuentra.

Valor devuelto

true si se ha encontrado y quietado el vínculo; de lo contrario, false.

set_bound

Establece un límite superior del número de vínculos que el objeto multi_link_registry puede contener.

void set_bound(size_t _MaxLinks);

Parámetros

_MaxLinks
La cantidad máxima de vínculos que puede contener el objeto multi_link_registry.

Comentarios

Después de establecer un límite, desvincular una entrada ocasionará que el objeto multi_link_registry entre en un estado inmutable en que más llamadas a add producirán una excepción invalid_link_target.

Consulte también

concurrency (espacio de nombres)
single_link_registry (clase)