Classe multi_link_registry
O objeto multi_link_registry
é um network_link_registry
que gerencia vários blocos de origem ou vários blocos de destino.
Sintaxe
template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;
Parâmetros
_Block
O tipo de dados de bloco que está sendo armazenado no objeto multi_link_registry
.
Membros
Construtores públicos
Nome | Descrição |
---|---|
multi_link_registry | Constrói um objeto multi_link_registry . |
Destruidor ~multi_link_registry | Destrói o objeto multi_link_registry . |
Métodos públicos
Nome | Descrição |
---|---|
add | Adiciona um link ao objeto multi_link_registry . (Substitui network_link_registry::add.) |
begin | Retorna um iterador que trata o primeiro elemento no multi_link_registry . (Substitui network_link_registry::begin.) |
contains | Pesquisa o objeto multi_link_registry em busca de um bloco especificado. (Substitui network_link_registry::contains.) |
count | Conta o número de itens no objeto multi_link_registry . (Substitui network_link_registry::count.) |
remove | Remove um link do objeto multi_link_registry . (Substitui network_link_registry::remove.) |
set_bound | Define um limite superior no número de links que o objeto multi_link_registry pode conter. |
Hierarquia de herança
multi_link_registry
Requisitos
Cabeçalho: agents.h
Namespace: concurrency
adicionar
Adiciona um link ao objeto multi_link_registry
.
virtual void add(_EType _Link);
Parâmetros
_Link
Um ponteiro para um bloco a ser adicionado.
Comentários
O método gera uma exceção invalid_link_target se o link já estiver presente no registro ou se um limite já tiver sido definido com a função set_bound
e um link tiver sido removido desde então.
begin
Retorna um iterador que trata o primeiro elemento no multi_link_registry
.
virtual iterator begin();
Valor de retorno
Um iterador que trata o primeiro elemento no objeto multi_link_registry
.
Comentários
O estado final é indicado por um link NULL
.
contains
Pesquisa o objeto multi_link_registry
em busca de um bloco especificado.
virtual bool contains(_EType _Link);
Parâmetros
_Link
Um ponteiro para um bloco que deve ser pesquisado no objeto multi_link_registry
.
Valor de retorno
true
se o bloco especificado tiver sido encontrado; caso contrário, false
.
count
Conta o número de itens no objeto multi_link_registry
.
virtual size_t count();
Valor de retorno
O número de itens no objeto multi_link_registry
.
multi_link_registry
Constrói um objeto multi_link_registry
.
multi_link_registry();
~multi_link_registry
Destrói o objeto multi_link_registry
.
virtual ~multi_link_registry();
Comentários
O método gerará uma exceção invalid_operation se for chamado antes que todos os links estejam removidos.
remove
Remove um link do objeto multi_link_registry
.
virtual bool remove(_EType _Link);
Parâmetros
_Link
Um ponteiro para um bloco a ser removido, se encontrado.
Valor de retorno
true
se o link foi encontrado e removido, caso contrário, false
.
set_bound
Define um limite superior no número de links que o objeto multi_link_registry
pode conter.
void set_bound(size_t _MaxLinks);
Parâmetros
_MaxLinks
O número máximo de links que o objeto multi_link_registry
pode conter.
Comentários
Depois que um limite for definido, desvincular uma entrada fará com que o objeto multi_link_registry
insira um estado imutável em que novas chamadas para add
gerarão uma exceção invalid_link_target
.