multi_link_registry オブジェクトは、複数のソース ブロックまたは複数のターゲット ブロックを管理する network_link_registry です。
構文
template<class _Block>
class multi_link_registry : public network_link_registry<_Block>;
パラメーター
_Block
multi_link_registry オブジェクトに格納されているブロック データ型。
メンバー
パブリック コンストラクター
| 名前 | 説明 |
|---|---|
| マルチリンクレジストリ |
multi_link_registry オブジェクトを構築します。 |
| ~multi_link_registry デストラクター |
multi_link_registry オブジェクトを破棄します。 |
パブリック メソッド
| 名前 | 説明 |
|---|---|
| 追加 |
multi_link_registry オブジェクトにリンクを追加します。 (network_link_registry::add をオーバーライドします)。 |
| begin |
multi_link_registry オブジェクト内の最初の要素の反復子を返します。 (network_link_registry::begin をオーバーライドします)。 |
| 含む |
multi_link_registry オブジェクトで、指定されたブロックを検索します (network_link_registry::contains をオーバーライドします)。 |
| count |
multi_link_registry オブジェクト内の項目の数をカウントします (network_link_registry::count をオーバーライドします)。 |
| remove |
multi_link_registry オブジェクトからリンクを削除します。 (network_link_registry::remove をオーバーライドします)。 |
| set_bound |
multi_link_registry オブジェクトが保持できるリンク数の上限を設定します。 |
継承階層
multi_link_registry
要件
ヘッダー: agents.h
名前空間: concurrency
追加
multi_link_registry オブジェクトにリンクを追加します。
virtual void add(_EType _Link);
パラメーター
_Link
追加するブロックへのポインター。
解説
リンクがすでにレジストリに存在する場合、またはset_boundで上限が設定された後にリンクが削除された場合、このメソッドはinvalid_link_target例外をスローします。
開始
multi_link_registry オブジェクト内の最初の要素の反復子を返します。
virtual iterator begin();
戻り値
multi_link_registry オブジェクト内の最初の要素をアドレス指定する反復子。
解説
終了状態は NULL リンクで示されます。
含む
multi_link_registry オブジェクトで、指定されたブロックを検索します
virtual bool contains(_EType _Link);
パラメーター
_Link
multi_link_registry オブジェクト内の検索対象となるブロックへのポインター。
戻り値
指定されたブロックが見つかった場合は true、それ以外の場合は false。
カウント
multi_link_registry オブジェクト内の項目の数をカウントします
virtual size_t count();
戻り値
multi_link_registry オブジェクト内の項目の数。
multi_link_registry
multi_link_registry オブジェクトを構築します。
multi_link_registry();
~multi_link_registry
multi_link_registry オブジェクトを破棄します。
virtual ~multi_link_registry();
解説
このメソッドは、すべてのリンクが削除される前に呼び出されると、invalid_operation 例外をスローします。
削除
multi_link_registry オブジェクトからリンクを削除します。
virtual bool remove(_EType _Link);
パラメーター
_Link
削除するブロック (見つかった場合) へのポインター。
戻り値
リンクが見つかって削除された場合は true、それ以外の場合は false。
境界を設定する
multi_link_registry オブジェクトが保持できるリンク数の上限を設定します。
void set_bound(size_t _MaxLinks);
パラメーター
_MaxLinks
multi_link_registry オブジェクトが保持できるリンクの最大数。
解説
上限が設定された後、エントリのリンクを解除すると、multi_link_registry オブジェクトは変更不可能な状態になります。この状態で add をさらに呼び出すと、invalid_link_target 例外がスローされます。