multi_link_registry クラス
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 オブジェクトを破棄します。 |
パブリック メソッド
名前 | 説明 |
---|---|
add | multi_link_registry オブジェクトにリンクを追加します。 (network_link_registry::add をオーバーライドします)。 |
begin | multi_link_registry オブジェクト内の最初の要素の反復子を返します。 (network_link_registry::begin をオーバーライドします)。 |
contains | 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
add
multi_link_registry
オブジェクトにリンクを追加します。
virtual void add(_EType _Link);
パラメーター
_Link
追加するブロックへのポインター。
解説
レジストリにリンクが既に存在する場合、または set_bound
関数を使用して上限が既に設定されており、その後、リンクが削除された場合、このメソッドは invalid_link_target 例外をスローします。
begin
multi_link_registry
オブジェクト内の最初の要素の反復子を返します。
virtual iterator begin();
戻り値
multi_link_registry
オブジェクト内の最初の要素をアドレス指定する反復子。
解説
終了状態は NULL
リンクで示されます。
contains
multi_link_registry
オブジェクトで、指定されたブロックを検索します
virtual bool contains(_EType _Link);
パラメーター
_Link
multi_link_registry
オブジェクト内の検索対象となるブロックへのポインター。
戻り値
指定されたブロックが見つかった場合は true
、それ以外の場合は false
。
count
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 例外をスローします。
remove
multi_link_registry
オブジェクトからリンクを削除します。
virtual bool remove(_EType _Link);
パラメーター
_Link
削除するブロック (見つかった場合) へのポインター。
戻り値
リンクが見つかって削除された場合は true
、それ以外の場合は false
。
set_bound
multi_link_registry
オブジェクトが保持できるリンク数の上限を設定します。
void set_bound(size_t _MaxLinks);
パラメーター
_MaxLinks
multi_link_registry
オブジェクトが保持できるリンクの最大数。
解説
上限が設定された後、エントリのリンクを解除すると、multi_link_registry
オブジェクトは変更不可能な状態になります。この状態で add
をさらに呼び出すと、invalid_link_target
例外がスローされます。