choice 类

choice 消息块是多源且单个目标的块,表示与一组源进行的控制流交互。 选择块将等待多个源的任何一个来生成消息,并将传播生成该消息的源的索引。

template<
   class _Type
>
class choice: public ISource<size_t>;

参数

  • _Type
    表示输入源负载的基于 tuple 的类型。

成员

公共 Typedefs

Name

说明

type

_Type 的类型别名。

公共构造函数

Name

说明

choice::choice 构造函数

已重载。 构造 choice 消息块。

choice::~choice 析构函数

销毁 choice 消息块。

公共方法

Name

说明

choice::accept 方法

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

choice::acquire_ref 方法

获取此 choice 消息块上的引用计数,以防止删除。

choice::consume 方法

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

choice::has_value 方法

检查该 choice 消息该块是否已经使用一个值初始化。

choice::index 方法

返回到 tuple 的索引,表示 choice 消息块所选的元素。

choice::link_target 方法

将目标块链接到此 choice 消息块。

choice::release 方法

释放以前成功的消息保留。

choice::release_ref 方法

释放此 choice 消息块上的引用数。

choice::reserve 方法

保留此 choice 消息块之前提供的消息。

choice::unlink_target 方法

从此 choice 消息块取消目标块的链接。

choice::unlink_targets 方法

从此 choice 消息块断开所有目标的链接。 (重写 ISource::unlink_targets。)

choice::value 方法

获取其索引已由 choice 消息块选中的消息。

备注

选择块确保仅使用一个传入的消息。

有关更多信息,请参见 异步消息块

继承层次结构

ISource

choice

要求

**标头:**agents.h

命名空间: 并发

请参见

参考

Concurrency 命名空间

join 类

single_assignment 类

make_choice 函数

tuple Class