choice 消息块是多源且单个目标的块,表示与一组源进行的控制流交互。 选择块将等待多个源的任何一个来生成消息,并将传播生成该消息的源的索引。
template<
   class _Type
>
class choice: public ISource<size_t>;
参数
- _Type
 表示输入源负载的基于 tuple 的类型。
成员
公共 Typedefs
| Name | 说明 | 
|---|---|
| type | _Type 的类型别名。 | 
公共构造函数
| Name | 说明 | 
|---|---|
| 已重载。 构造 choice 消息块。 | |
| 销毁 choice 消息块。 | 
公共方法
| Name | 说明 | 
|---|---|
| 接受由此 choice 块提供的消息,将所有权转移给调用方。 | |
| 获取此 choice 消息块上的引用计数,以防止删除。 | |
| 使用先前由 choice 消息块提供并由目标成功保留的消息,将所有权转移给调用方。 | |
| 检查该 choice 消息该块是否已经使用一个值初始化。 | |
| 返回到 tuple 的索引,表示 choice 消息块所选的元素。 | |
| 将目标块链接到此 choice 消息块。 | |
| 释放以前成功的消息保留。 | |
| 释放此 choice 消息块上的引用数。 | |
| 保留此 choice 消息块之前提供的消息。 | |
| 从此 choice 消息块取消目标块的链接。 | |
| 从此 choice 消息块断开所有目标的链接。 (重写 ISource::unlink_targets。) | |
| 获取其索引已由 choice 消息块选中的消息。 | 
备注
选择块确保仅使用一个传入的消息。
有关更多信息,请参见 异步消息块。
继承层次结构
要求
**标头:**agents.h
命名空间: 并发