classe transformador
A transformer bloco de mensagens é um destino único, várias fontes, ordenados propagator_block que pode aceitar mensagens de um tipo e é capaz de armazenar um número acoplado 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 de mensagens aceitas por buffer._Output
O tipo de carga de mensagens armazenadas e propagadas para fora por buffer.
Membros
Construtores públicos
Nome |
Descrição |
---|---|
Sobrecarregado.Constrói um transformer bloco de mensagens. |
|
Destrói a transformer bloco de mensagens. |
Métodos protegidos
Nome |
Descrição |
---|---|
Aceita uma mensagem que foi oferecida por esse transformer bloco de mensagens, transferindo a propriedade para o chamador. |
|
Consome uma mensagem anteriormente oferecida pelo transformer e reservado pelo destino, transferência de propriedade para o chamador. |
|
Um retorno de chamada que notifica que um novo destino foi vinculado a esta transformer bloco de mensagens. |
|
Assincronamente passa uma mensagem de um ISource bloco a esta transformer bloco de mensagens.Ele é chamado pelo propagate método, quando chamado por um bloco de origem. |
|
Executa a função de transformador nas mensagens de entrada. |
|
Libera uma reserva mensagem anterior.(Substitui source_block::release_message.) |
|
Reserva uma mensagem anteriormente oferecida por esse transformer bloco de mensagens.(Substitui source_block::reserve_message.) |
|
Reinicia a propagação depois lançou uma reserva.(Substitui source_block::resume_propagation.) |
|
Síncrona passa uma mensagem de um ISource bloco a esta transformer bloco de mensagens.Ele é chamado pelo send método, quando chamado por um bloco de origem. |
|
Substitui o supports_anonymous_source método para indicar que este bloco pode aceitar mensagens oferecidas a ele por uma fonte que não está vinculada.(Substitui ITarget::supports_anonymous_source.) |
Comentários
Para mais informações, consulte Blocos assíncronas de mensagem.
Hierarquia de herança
transformer
Requisitos
Cabeçalho: agents.h
Namespace: concorrência