Compartilhar via


classe de single_assignment

A single_assignment bloco de mensagens é um para vários destinos, várias fontes, ordenados propagator_block capaz de armazenar uma única gravação-depois de message.

template<
   class _Type
>
class single_assignment : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;

Parâmetros

  • _Type
    O tipo de carga da mensagem armazenadas e propagadas por buffer.

Membros

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

Nome

Descrição

Construtor de single_assignment::single_assignment

Sobrecarregado.Constrói um single_assignment bloco de mensagens.

single_assignment:: ~ single_assignment destruidor

Destrói a single_assignment bloco de mensagens.

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

Nome

Descrição

método de single_assignment::has_value

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

método de single_assignment::value

Obtém uma referência para a carga atual da mensagem que está sendo armazenada na single_assignment bloco de mensagens.

Dd470880.collapse_all(pt-br,VS.110).gifMétodos protegidos

Nome

Descrição

método de single_assignment::accept_message

Aceita uma mensagem que foi oferecida por esse single_assignment bloco de mensagens, retornando uma cópia da mensagem para o chamador.

método de single_assignment::consume_message

Consome uma mensagem anteriormente oferecida pelo single_assignment e reservado pelo destino, retornando uma cópia da mensagem para o chamador.

método de single_assignment::link_target_notification

Um retorno de chamada que notifica que um novo destino foi vinculado a esta single_assignment bloco de mensagens.

método de single_assignment::propagate_message

Assincronamente passa uma mensagem de um ISource bloco a esta single_assignment bloco de mensagens.Ele é chamado pelo propagate método, quando chamado por um bloco de origem.

método de single_assignment::propagate_to_any_targets

Locais de message_PMessage deste single_assignment bloco de mensagens e oferece para todos os destinos vinculados.

método de single_assignment::release_message

Libera uma reserva mensagem anterior.(Substitui source_block::release_message.)

método de single_assignment::reserve_message

Reserva uma mensagem anteriormente oferecida por esse single_assignment bloco de mensagens.(Substitui source_block::reserve_message.)

método de single_assignment::resume_propagation

Reinicia a propagação depois lançou uma reserva.(Substitui source_block::resume_propagation.)

método de single_assignment::send_message

Síncrona passa uma mensagem de um ISource bloco a esta single_assignment bloco de mensagens.Ele é chamado pelo send método, quando chamado por um bloco de origem.

Comentários

A single_assignment bloco de mensagens propaga cópias de sua mensagem para cada destino.

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

Hierarquia de herança

ISource

ITarget

source_block

propagator_block

single_assignment

Requisitos

Cabeçalho: agents.h

Namespace: concorrência

Consulte também

Referência

simultaneidade Namespace

classe de overwrite_buffer

classe de unbounded_buffer