Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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.