Transformador de classe

A transformer Bloco de mensagens é um único destino, várias fontes, ordenada propagator_block que podem aceitar mensagens de um tipo e é capaz de armazenar um número não vinculado de mensagens de um tipo diferente.

template<
   class _Input,
   class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;

Parâmetros

  • _Input
    O tipo de carga das mensagens aceitas por um buffer.

  • _Output
    O tipo de carga das mensagens armazenadas e propagadas para fora pelo buffer.

Membros

Construtores públicos

Nome

Descrição

Construtor de Transformer::Transformer

Sobrecarregado. Constrói uma transformer mensagens bloco.

Transformador:: ~ transformador destruidor

Destrói a transformer de mensagens do bloco.

Métodos protegidos

Nome

Descrição

Método de Transformer::accept_message

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

Método de Transformer::consume_message

Consome uma mensagem anteriormente oferecida pelo transformer e reservado pelo destino, transferência de propriedade para o chamador.

Método de Transformer::link_target_notification

Um retorno de chamada que notifica que um novo destino tenha sido vinculado a esta transformer mensagens bloco.

Método de Transformer::propagate_message

Assincronamente transmite uma mensagem de um ISource a este bloco de transformer mensagens bloco. Ele é chamado pela propagate método, quando chamado por um bloco de código-fonte.

Método de Transformer::propagate_to_any_targets

Executa a função de transformador nas mensagens de entrada e tenta oferecer a mensagem resultante para todos os destinos vinculados.

Método de Transformer::release_message

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

Método de Transformer::reserve_message

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

Método de Transformer::resume_propagation

Reinicia a propagação após uma reserva foi lançada. (Substitui source_block::resume_propagation.)

Método de Transformer::send_message

Passa de forma síncrona uma mensagem de um ISource a este bloco de transformer mensagens bloco. Ele é chamado pela send método, quando chamado por um bloco de código-fonte.

Comentários

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

Hierarquia de herança

Podem ser

source_block

ITarget

propagator_block

Transformador

Requisitos

Cabeçalho: Agents.h

Namespace: Simultaneidade

Consulte também

Referência

Namespace de simultaneidade

chamada de classe