Classe transformer
Um bloco da mensagem de transformer é um único destino, várias origem, propagator_block ordenado que podem aceitar mensagens de um tipo e é capaz de armazenar um número ilimitado 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 útil de mensagens aceitas pelo buffer._Output
O tipo de carga útil de mensagens armazenadas e propagadas para fora por buffer.
Membros
Construtores Públicos
Nome |
Descrição |
---|---|
Sobrecarregado. Constrói um bloco da mensagem de transformer . |
|
Destrói o bloco da mensagem de transformer . |
Métodos Protegidos
Nome |
Descrição |
---|---|
Aceita uma mensagem que é oferecida por esse bloco da mensagem de transformer , transferindo propriedade ao chamador. |
|
Consome uma mensagem anteriormente oferecida por transformer e reservada pelo destino, transferindo propriedade ao chamador. |
|
Um retorno de chamada que notifica que um novo destino esteve vinculado a esse bloco da mensagem de transformer . |
|
Passa de forma assíncrona uma mensagem de um bloco de ISource a esse bloco da mensagem de transformer . É invocado pelo método de propagate , quando chamado por um bloco de origem. |
|
Executa a função de transformador em mensagens de entrada. |
|
Libera uma reserva anterior da mensagem. (Substitui source_block::release_message.) |
|
Reserva uma mensagem oferecida anteriormente por esse bloco da mensagem de transformer . (Substitui source_block::reserve_message.) |
|
Propagação de resumos depois que uma reserva foi liberada. (Substitui source_block::resume_propagation.) |
|
Passa de forma síncrona uma mensagem de um bloco de ISource a esse bloco da mensagem de transformer . É invocado pelo método de send , quando chamado por um bloco de origem. |
|
Substitui o método de supports_anonymous_source para indicar que esse bloco pode aceitar as mensagens são oferecidas a ele por uma origem que não seja vinculada. (Substitui ITarget::supports_anonymous_source.) |
Comentários
Para obter mais informações, consulte Blocos de mensagens assíncronos.
Hierarquia de Herança
transformer
Requisitos
Cabeçalho: agents.h
Namespace: simultaneidade