共用方式為


transformer 類別

transformer 傳訊區塊是多來源的單一目標排序 propagator_block,可以存放無限個不同類型訊息。

template<
   class _Input,
   class _Output
>
class transformer : public propagator_block<single_link_registry<ITarget<_Output>>, multi_link_registry<ISource<_Input>>>;

參數

  • _Input
    緩衝區所接受的訊息的承載類型。

  • _Output
    緩衝區預存及對外傳播的訊息的承載類型。

成員

公用建構函式

名稱

說明

transformer::transformer 建構函式

多載。 建構 transformer 傳訊區塊。

transformer::~transformer 解構程式

終結 transformer 傳訊區塊。

受保護的方法

名稱

說明

transformer::accept_message 方法

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

transformer::consume_message 方法

會將擁有權轉移至呼叫端,使用 transformer 先前提供並由目標保留的訊息。

transformer::link_target_notification 方法

通知已有新目標與這個 transformer 傳訊區塊相連結的回呼。

transformer::propagate_message 方法

以非同步方式將訊息從 ISource 區塊傳遞到這個 transformer 傳訊區塊。 會於來源區塊呼叫時由 propagate 方法叫用。

transformer::propagate_to_any_targets 方法

執行輸入訊息的變化函式。

transformer::release_message 方法

會釋放前一個訊息保留項目。(會覆寫 source_block::release_message)。

transformer::reserve_message 方法

會保留先前由這個 transformer 傳訊區塊所提供的訊息。(會覆寫 source_block::reserve_message)。

transformer::resume_propagation 方法

釋放保留項目之後繼續傳播。(會覆寫 source_block::resume_propagation)。

transformer::send_message 方法

以同步方式將訊息從 ISource 區塊傳遞到這個 transformer 傳訊區塊。 會於來源區塊呼叫時由 send 方法叫用。

transformer::supports_anonymous_source 方法

覆寫 supports_anonymous_source 方法指示這個區塊可以接受為它所提供的訊息由未連結的來源。(覆寫 ITarget::supports_anonymous_source)。

備註

如需詳細資訊,請參閱非同步訊息區

繼承階層

ISource

ITarget

source_block

propagator_block

transformer

需求

標頭: agents.h

**命名空間:**concurrency

請參閱

參考

concurrency 命名空間

call 類別