Partilhar via


multi_link_registry Classe

O multi_link_registry objeto é um network_link_registry que gere múltiplos blocos de origem ou múltiplos blocos-alvo.

Sintaxe

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

Parâmetros

_Block
O tipo de dados do bloco armazenado no objeto multi_link_registry.

Membros

Construtores Públicos

Nome Description
multi_link_registry Constrói um multi_link_registry objeto.
~multi_link_registry Destrutor Destrói o multi_link_registry objeto.

Métodos Públicos

Nome Description
add Adiciona um link ao multi_link_registry objeto. (Substitui network_link_registry::add.)
começar Devolve um iterador ao primeiro elemento do multi_link_registry objeto. ( Substitui network_link_registry::begin.)
contém Procura no multi_link_registry objeto um bloco especificado. (Anula network_link_registry::contém.)
count Conta o número de itens no multi_link_registry objeto. (Anula network_link_registry::contagem.)
remove Remove um link do objeto multi_link_registry. (Sobrepõe network_link_registry::remove.)
definir_limite Estabelece um limite superior para o número de ligações que o multi_link_registry objeto pode conter.

Hierarquia de herança

network_link_registry (registo_de_ligações_de_rede)

multi_link_registry

Requerimentos

Cabeçalho: agents.h

Namespace: simultaneidade

add

Adiciona um link ao multi_link_registry objeto.

virtual void add(_EType _Link);

Parâmetros

_Link
Um apontador para um bloco a ser adicionado.

Observações

O método lança uma exceção `invalid_link_target` se o link já estiver presente no registo, ou se um limite já tenha sido definido com a função set_bound e um link foi subsequentemente removido.

começar

Devolve um iterador ao primeiro elemento do multi_link_registry objeto.

virtual iterator begin();

Valor de retorno

Um iterador que aborda o primeiro elemento do multi_link_registry objeto.

Observações

O estado final é indicado por uma NULL ligação.

contém

Procura no objeto multi_link_registry por um bloco especificado.

virtual bool contains(_EType _Link);

Parâmetros

_Link
Um apontador para um bloco que deve ser procurado no multi_link_registry objeto.

Valor de retorno

true se o bloco especificado fosse encontrado, false caso contrário.

count

Conta o número de itens no multi_link_registry objeto.

virtual size_t count();

Valor de retorno

O número de itens no objeto multi_link_registry.

multi_link_registry

Constrói um multi_link_registry objeto.

multi_link_registry();

~multi_link_registry

Destrói o multi_link_registry objeto.

virtual ~multi_link_registry();

Observações

O método lança uma exceção invalid_operation se chamado antes de todas as ligações serem removidas.

remover

Remove um link do objeto multi_link_registry.

virtual bool remove(_EType _Link);

Parâmetros

_Link
Um apontador para um bloco a ser removido, se encontrado.

Valor de retorno

true se o link foi encontrado e removido, false caso contrário.

definir_limite

Estabelece um limite superior para o número de ligações que o multi_link_registry objeto pode conter.

void set_bound(size_t _MaxLinks);

Parâmetros

_MaxLinks
O número máximo de ligações que o multi_link_registry objeto pode conter.

Observações

Depois de um limite ser definido, desligar uma entrada fará com que o multi_link_registry objeto entre num estado imutável, onde chamadas adicionais a add lançam uma invalid_link_target exceção.

Consulte também

concorrência Namespace
single_link_registry Classe