transformer 类

transformer 消息块是一个单目标、多源、有序的 propagator_block,可以接受同一类型的消息,并能够存储大量不同类型的消息。

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

参数

  • _Input
    缓冲区接受的消息负载类型。

  • _Output
    缓冲区存储的和传播的消息的负载类型。

成员

公共构造函数

名称

说明

transformer::transformer 构造函数

已重载。 构造 transformer 消息块。

transformer::~transformer 析构函数

销毁 transformer 消息块。

受保护的方法

名称

说明

transformer::accept_message 方法

接受由此 transformer 消息块提供的消息,将所有权转移给调用方。

transformer::consume_message 方法

使用先前由 transformer 提供并由目标保留的消息,将所有权转移给调用方。

transformer::link_target_notification 方法

通知新的目标已链接至此 transformer 消息块的回调。

transformer::propagate_message 方法

ISource 块中的消息异步传递到此 transformer 消息块中。 在由源块调用时,其由 propagate 方法调用。

transformer::propagate_to_any_targets 方法

对输入消息执行转换函数。

transformer::release_message 方法

释放以前的消息保留。(覆盖 source_block::release_message。)

transformer::reserve_message 方法

保留此 transformer 消息块之前提供的消息。(覆盖 source_block::reserve_message。)

transformer::resume_propagation 方法

释放保留后继续传播。(覆盖 source_block::resume_propagation。)

transformer::send_message 方法

将消息从 ISource 块同步传递到此 transformer 消息块中。 在由源块调用时,其由 send 方法调用。

transformer::supports_anonymous_source 方法

重写 supports_anonymous_source 方法表示此块可以接受未链接的源为其提供的消息。重写 ( ITarget::supports_anonymous_source。)

备注

有关详细信息,请参阅异步消息块

继承层次结构

ISource

ITarget

source_block

propagator_block

transformer

要求

**标头:**agents.h

**命名空间:**并发

请参见

参考

concurrency 命名空间

call 类