Compartilhar via


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á para 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 das fontes de entrada.

Membros

Dd492421.collapse_all(pt-br,VS.110).gifTypedefs pública

Nome

Descrição

type

Um alias de tipo para _Type.

Dd492421.collapse_all(pt-br,VS.110).gifConstrutores públicos

Nome

Descrição

Construtor de Choice::Choice

Sobrecarregado.Constrói um choice bloco de mensagens.

Choice:: ~ choice destruidor

Destrói a choice bloco de mensagens.

Dd492421.collapse_all(pt-br,VS.110).gifMétodos públicos

Nome

Descrição

método de choice::accept

Aceita uma mensagem que foi oferecida por esse choice bloco de transferência de propriedade para o chamador.

método de choice::acquire_ref

Adquire uma contagem de referência sobre isso choice bloco de mensagens, para evitar a exclusão.

método de choice::consume

Consome uma mensagem anteriormente oferecida por esse choice bloco de mensagens e reservado com êxito pelo destino, transferência de propriedade para o chamador.

método de choice::has_value

Verifica se esse choice bloco de mensagens foi inicializado com um valor ainda.

método de choice::index

Retorna um índice para o tuple que representa o elemento selecionado pelo choice bloco de mensagens.

método de choice::link_target

Vincula um bloco de destino para esta choice bloco de mensagens.

método de choice::release

Libera uma reserva de mensagem de sucesso anterior.

método de choice::release_ref

Libera uma contagem de referência sobre isso choice bloco de mensagens.

método de choice::reserve

Reserva uma mensagem anteriormente oferecida por esse choice bloco de mensagens.

método de choice::unlink_target

Desvincula um bloco de destino desta choice bloco de mensagens.

método de choice::unlink_targets

Desvincula todos os destinos desta choice bloco de mensagens.(Substitui ISource::unlink_targets.)

método de choice::value

Obtém a mensagem cujo índice foi selecionado pelo choice bloco de mensagens.

Comentários

O bloco de opção garante que apenas uma das mensagens de entrada é consumida.

Para mais informações, consulte Blocos assíncronas de mensagem.

Hierarquia de herança

ISource

choice

Requisitos

Cabeçalho: agents.h

Namespace: concorrência

Consulte também

Referência

simultaneidade Namespace

join classe

classe de single_assignment

função de make_choice

tuple Class