Classe de opção
A choice Bloco de mensagens é um bloco de várias fontes, o único destino que representa uma interação de fluxo de controle com um conjunto de fontes. O bloco de opção aguardará a qualquer uma das várias fontes para produzir uma mensagem e irá propagar o índice da fonte que produziu a mensagem.
template<
class _Type
>
class choice: public ISource<size_t>;
Parâmetros
- _Type
A tuple-com base no tipo que representa as cargas de fontes de entrada.
Membros
Definições de tipo públicas
Nome |
Descrição |
---|---|
type |
Um alias de tipo para _Type. |
Construtores públicos
Nome |
Descrição |
---|---|
Sobrecarregado. Constrói uma choice mensagens bloco. |
|
Destrói a choice de mensagens do bloco. |
Métodos públicos
Nome |
Descrição |
---|---|
Aceita uma mensagem que foi oferecida por esse choice bloco, transferência de propriedade para o chamador. |
|
Adquire uma contagem de referência sobre isso choice mensagens de bloco, para evitar a exclusão. |
|
Consome uma mensagem anteriormente oferecida por esse choice Bloco de mensagens e reservado com êxito pelo destino, transferência de propriedade para o chamador. |
|
Verifica se esse choice o bloco de mensagens foi inicializado com um valor ainda. |
|
Retorna um índice para o tuple que representa o elemento selecionado pelo choice mensagens bloco. |
|
Isso vincula um bloco de destino choice mensagens bloco. |
|
Libera uma reserva de mensagem bem-sucedida anterior. |
|
Libera uma contagem de referência sobre isso choice mensagens bloco. |
|
Reserva uma mensagem anteriormente oferecida por esse choice mensagens bloco. |
|
Desvincula um bloco de destino a partir dessa choice mensagens bloco. |
|
Desvincula todos os destinos a partir dessa choice mensagens bloco. (Substitui ISource::unlink_targets.) |
|
Obtém a mensagem cujo índice foi selecionado pelo choice de mensagens do bloco. |
Comentários
O bloco de opção garante que apenas uma das mensagens de entrada é consumida.
Para obter mais informações, consulte Blocos de mensagens assíncronas.
Hierarquia de herança
Requisitos
Cabeçalho: Agents.h
Namespace: Simultaneidade