次の方法で共有


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 オブジェクトにリンクを追加します。 (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 例外がスローされます。

関連項目

コンカレンシー名前空間
single_link_registry クラス