Compartilhar via


Classe MultiLinkRegistry

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
registro_de_links_multiplos Constrói um objeto multi_link_registry.
Destrutor ~multi_link_registry Destrói o objeto multi_link_registry.

Métodos públicos

Nome Descrição
adicionar Adiciona um link ao objeto multi_link_registry. (Substitui network_link_registry::add.)
begin Retorna um iterador para o primeiro elemento no objeto multi_link_registry. (Sobrepõe 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. (Sobrescreve 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

registro_de_links_de_rede

multi_link_registry

Requisitos

Cabeçalho: agents.h

Namespace: simultaneidade

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.

início

Retorna um iterador para 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.

contém

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 localizado no objeto multi_link_registry.

Valor de retorno

true se o bloco especificado tiver sido encontrado; caso contrário, false.

contagem

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.

remover

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.

definir_limite

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.

Confira também

Namespace de concorrência
Classe single_link_registry