propagator_block 类是同时为源和目标的消息块的一个抽象基类。组合了 source_block 和 target_block 类的功能。
template<
   class _TargetLinkRegistry,
   class _SourceLinkRegistry,
   class _MessageProcessorType = ordered_message_processor<typename _TargetLinkRegistry::type::type>
>
class propagator_block : public source_block<_TargetLinkRegistry, _MessageProcessorType>, public ITarget<typename _SourceLinkRegistry::type::source_type>;
参数
_TargetLinkRegistry
要用于保存目标链接的链接注册表。_SourceLinkRegistry
要用于保存源链接的链接注册表。_MessageProcessorType
用于消息处理的处理器类型。
成员
公共 Typedefs
名称  | 
说明  | 
|---|---|
source_iterator  | 
该 propagator_block 的 source_link_manager 的迭代器类型。  | 
公共构造函数
名称  | 
说明  | 
|---|---|
构造 propagator_block 对象。  | 
|
销毁 propagator_block 对象。  | 
公共方法
名称  | 
说明  | 
|---|---|
将消息从源块异步传递到此目标块中。  | 
|
对此块同步发出一条消息。由 ISource 块调用。此函数完成时, 消息将已传播到块中。  | 
受保护的方法
名称  | 
说明  | 
|---|---|
指示新消息应该拒绝的块。  | 
|
初始化基本对象。特别地,message_processor 对象需要进行初始化。  | 
|
将指定源块链接到此 propagator_block 对象。  | 
|
处理输入消息。对于传播器才有用的块,从 source_block 派生 (重写 source_block::process_input_messages。)  | 
|
在派生类中重写后,该方法异步地将消息从 ISource 块传递至该 propagator_block 对象。在由源块调用时,其由 propagate 方法调用。  | 
|
注册将在接收到的每条消息上调用的筛选器方法。  | 
|
从此 propagator_block 对象中移除所有源和目标网络链接。  | 
|
在派生类中重写后,该方法同步地将消息从 ISource 块传递至该 propagator_block 对象。在由源块调用时,其由 send 方法调用。  | 
|
与来自该 propagator_block 对象的指定的源块不同。  | 
|
与来自该 propagator_block 对象的所有源块取消链接。(重写 ITarget::unlink_sources。)  | 
备注
为避免多个继承,propagator_block 类继承自 source_block 类以及 ITarget 抽象类。此处复制了 target_block 类中的大部分功能。
继承层次结构
propagator_block
要求
**标头:**agents.h
命名空间: 并发