Classe choice
Um bloco da mensagem de choice várias é uma origem, o bloco de um único destino que representa uma interação de fluxo de controle com um conjunto de fontes. O bloco bem escolhido aguardará qualquer de várias fontes para gerar uma mensagem e propagará o índice de origem que gerou a mensagem.
template<
class _Type
>
class choice: public ISource<size_t>;
Parâmetros
- _Type
Um tipo com base em tuplede que representa as cargas de fontes de entrada.
Membros
Typedefs Públicas
Nome |
Descrição |
---|---|
type |
Um alias de tipo para _Type. |
Construtores Públicos
Nome |
Descrição |
---|---|
Sobrecarregado. Constrói um bloco da mensagem de choice . |
|
Destrói o bloco da mensagem de choice . |
Métodos Públicos
Nome |
Descrição |
---|---|
Aceita uma mensagem que é oferecida por esse bloco de choice , transferindo propriedade ao chamador. |
|
Adquire uma contagem de referência do bloco da mensagem de choice , para evitar a exclusão. |
|
Consome uma mensagem oferecida anteriormente por esse bloco da mensagem de choice e reservada com êxito pelo destino, transferindo propriedade ao chamador. |
|
Verifica se este bloco da mensagem de choice foi inicializado com um valor ainda. |
|
Retorna um índice em tuple que representa o elemento selecionado pelo bloco da mensagem de choice . |
|
Vincula um bloco de destino a esse bloco da mensagem de choice . |
|
Libera uma reserva com êxito anterior da mensagem. |
|
Libera uma contagem de referência do bloco da mensagem de choice . |
|
Reserva uma mensagem oferecida anteriormente por esse bloco da mensagem de choice . |
|
Unlinks um bloco de destino desse bloco da mensagem de choice . |
|
Unlinks todos os destinos deste bloco da mensagem de choice . (Substitui ISource::unlink_targets.) |
|
Obtém a mensagem cujo índice foi selecionado pelo bloco da mensagem de choice . |
Comentários
O bloco bem escolhido garante que apenas uma das mensagens de entrada seja consumido.
Para obter mais informações, consulte Blocos de mensagens assíncronos.
Hierarquia de Herança
choice
Requisitos
Cabeçalho: agents.h
Namespace: simultaneidade