共用方式為


choice 類別

choice 傳訊區塊是多來源的單一目標區塊,代表與一組來源的控制流程互動。 選擇區塊會等候多個來源的其中一個來產生訊息,而且會傳播產生訊息之來源的索引。

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

參數

  • _Type
    tuple 為基礎的類型,代表輸入來源的承載。

成員

公用 Typedefs

名稱

說明

type

_Type 的型別別名。

公用建構函式

名稱

說明

choice::choice 建構函式

多載。 建構 choice 傳訊區塊。

choice::~choice 解構函式

終結 choice 傳訊區塊。

公用方法

名稱

說明

choice::accept 方法

接受這個 choice 區塊所提供的訊息,將擁有權轉移至呼叫端。

choice::acquire_ref 方法

取得這個 choice 傳訊區塊的參考計數,以防止刪除。

choice::consume 方法

會將擁有權轉移至呼叫端,使用此 choice 傳訊區塊先前提供並由目標成功保留的訊息。

choice::has_value 方法

會檢查這個 choice 傳訊區塊是否已初始化並具有值。

choice::index 方法

傳回索引至代表 choice 傳訊區塊所選取之項目的 tuple

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

請參閱

參考

concurrency 命名空間

join 類別

single_assignment 類別

make_choice 函式

tuple 類別