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
緩衝區預存及對外傳播的訊息的承載類型。
Members
公用建構函式
名稱 |
描述 |
---|---|
多載。 建構 transformer 傳訊區塊。 |
|
終結 transformer 傳訊區塊。 |
受保護的方法
名稱 |
描述 |
---|---|
接受這個 transformer 傳訊區塊所提供的訊息,將擁有權轉移至呼叫端。 |
|
會將擁有權轉移至呼叫端,使用 transformer 先前提供並由目標保留的訊息。 |
|
通知已有新目標與這個 transformer 傳訊區塊相連結的回呼。 |
|
以非同步方式將訊息從 ISource 區塊傳遞到這個 transformer 傳訊區塊。 會於來源區塊呼叫時由 propagate 方法叫用。 |
|
輸入的訊息上執行的轉換程式函式。 |
|
會釋放前一個訊息保留項目。 (會覆寫 source_block::release_message)。 |
|
會保留先前由這個 transformer 傳訊區塊所提供的訊息。 (會覆寫 source_block::reserve_message)。 |
|
釋放保留項目之後繼續傳播。 (會覆寫 source_block::resume_propagation)。 |
|
以同步方式將訊息從 ISource 區塊傳遞到這個 transformer 傳訊區塊。 會於來源區塊呼叫時由 send 方法叫用。 |
|
會覆寫supports_anonymous_source ,表示這個區塊可以接受,但是沒有連結的來源所提供給它的訊息的方法。 (會覆寫 ITarget::supports_anonymous_source。) |
備註
如需詳細資訊,請參閱 非同步訊息區。
繼承階層架構
transformer
需求
標頭: agents.h
Namespace: 並行存取