single_assignment 类
single_assignment 消息块是一个多目标、多源、有序的 propagator_block,能够存储单个、只写一次的 message。
template<
class _Type
>
class single_assignment : public propagator_block<multi_link_registry<ITarget<_Type>>, multi_link_registry<ISource<_Type>>>;
参数
- _Type
缓冲区存储的和传播的消息的负载类型。
成员
公共构造函数
Name |
说明 |
---|---|
已重载。 构造 single_assignment 消息块。 |
|
销毁 single_assignment 消息块。 |
公共方法
Name |
说明 |
---|---|
检查该 single_assignment 消息该块是否已经使用一个值初始化。 |
|
获取对当前存储在 single_assignment 消息块中消息的当前负载的引用。 |
受保护的方法
Name |
说明 |
---|---|
接受由此 single_assignment 消息块提供的消息,将消息副本返还给调用方。 |
|
使用先前由 single_assignment 提供并由目标保留的消息,将消息副本返还给调用方。 |
|
通知新的目标已链接至此 single_assignment 消息块的回调。 |
|
将 ISource 块中的消息异步传递到此 single_assignment 消息块中。 在由源块调用时,其由 propagate 方法调用。 |
|
将 message_PMessage 放置在此 single_assignment 消息块中,并将它提供给所有链接目标。 |
|
释放以前的消息保留。 (覆盖 source_block::release_message。) |
|
保留此 single_assignment 消息块之前提供的消息。 (覆盖 source_block::reserve_message。) |
|
释放保留后继续传播。 (覆盖 source_block::resume_propagation。) |
|
将消息从 ISource 块同步传递到此 single_assignment 消息块中。 在由源块调用时,其由 send 方法调用。 |
备注
single_assignment 消息块将其消息的副本传播到每个目标。
有关更多信息,请参见 异步消息块。
继承层次结构
要求
**标头:**agents.h
命名空间: 并发