次の方法で共有


multitype_join クラス

multitype_join メッセージング ブロックは、複数のソースと単一のターゲットを持つメッセージング ブロックで、それぞれのソースから受け取った異なる種類のメッセージを 1 つに結合してターゲットに渡します。

template<
   typename _Type,
   join_type _Jtype = non_greedy
>
class multitype_join: public ISource<typename _Unwrap<_Type>::type>;

パラメーター

  • _Type
    このブロックによって結合および伝達されるメッセージの tuple ペイロード型。

  • _Jtype
    join ブロックの種類 (greedy または non_greedy)。

メンバー

パブリック typedef

名前

説明

type

_Type の型のエイリアス。

パブリック コンストラクター

名前

説明

multitype_join::multitype_join コンストラクター

オーバーロードされます。 multitype_join メッセージング ブロックを構築します。

multitype_join::~multitype_join デストラクター

multitype_join メッセージング ブロックを破棄します。

パブリック メソッド

名前

説明

multitype_join::accept メソッド

この multitype_join ブロックによって提供されたメッセージを受け入れ、所有権を呼び出し元に移譲します。

multitype_join::acquire_ref メソッド

この multitype_join メッセージング ブロックの参照カウントを取得し、削除されるのを防ぎます。

multitype_join::consume メソッド

この multitype_join メッセージング ブロックによって以前に提供され、ターゲットによって正常に予約されたメッセージを使用し、所有権を呼び出し元に移譲します。

multitype_join::link_target メソッド

ターゲット ブロックをこの multitype_join メッセージング ブロックにリンクします。

multitype_join::release メソッド

以前に正常に行われたメッセージの予約を解放します。

multitype_join::release_ref メソッド

この multiple_join メッセージング ブロックの参照カウントを解放します。

multitype_join::reserve メソッド

この multitype_join メッセージング ブロックによって以前に提供されたメッセージを予約します。

multitype_join::unlink_target メソッド

この multitype_join メッセージング ブロックからターゲット ブロックのリンクを解除します。

multitype_join::unlink_targets メソッド

この multitype_join メッセージング ブロックからすべてのターゲットのリンクを解除します。(ISource::unlink_targets をオーバーライドします。)

解説

詳細については、「非同期メッセージ ブロック」を参照してください。

継承階層

ISource

multitype_join

必要条件

ヘッダー: agents.h

名前空間: concurrency

参照

関連項目

concurrency 名前空間

choice クラス

join クラス

join_type 列挙体

make_join 関数

make_greedy_join 関数

tuple クラス