choice クラス
choice メッセージング ブロックは、複数のソースと単一のターゲットを持つブロックであり、一連のソースとの制御フローの相互作用を表します。 choice ブロックは、複数のソースのいずれかがメッセージを生成するのを待ち、そのメッセージを生成したソースのインデックスを伝達します。
template<
class _Type
>
class choice: public ISource<size_t>;
パラメーター
- _Type
入力ソースのペイロードを表す tuple ベースの型。
メンバー
パブリック typedef
名前 |
説明 |
---|---|
type |
_Type の型のエイリアス。 |
パブリック コンストラクター
名前 |
説明 |
---|---|
オーバーロードされます。 choice メッセージング ブロックを構築します。 |
|
choice メッセージング ブロックを破棄します。 |
パブリック メソッド
名前 |
説明 |
---|---|
この choice ブロックによって提供されたメッセージを受け入れ、所有権を呼び出し元に移譲します。 |
|
この choice メッセージング ブロックの参照カウントを取得し、削除されるのを防ぎます。 |
|
この choice メッセージング ブロックによって以前に提供され、ターゲットによって正常に予約されたメッセージを使用し、所有権を呼び出し元に移譲します。 |
|
この choice メッセージング ブロックが値で初期化されているかどうかをチェックします。 |
|
choice メッセージング ブロックによって選択された要素を表す tuple へのインデックスを返します。 |
|
ターゲット ブロックをこの choice メッセージング ブロックにリンクします。 |
|
以前に正常に行われたメッセージの予約を解放します。 |
|
この choice メッセージング ブロックの参照カウントを解放します。 |
|
この choice メッセージング ブロックによって以前に提供されたメッセージを予約します。 |
|
この choice メッセージング ブロックからターゲット ブロックのリンクを解除します。 |
|
この choice メッセージング ブロックからすべてのターゲットのリンクを解除します (ISource::unlink_targets をオーバーライドします)。 |
|
choice メッセージング ブロックによって選択されたインデックスを持つメッセージを取得します。 |
解説
choice ブロックによって、いずれかの受信メッセージだけが使用されるようになります。
詳細については、「非同期メッセージ ブロック」を参照してください。
継承階層
必要条件
ヘッダー: agents.h
名前空間: Concurrency