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
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)