source_link_manager オブジェクトは、ISource ブロックへのメッセージング ブロック ネットワーク リンクを管理します。
構文
template<class _LinkRegistry>
class source_link_manager;
パラメーター
_LinkRegistry
ネットワーク リンク レジストリ。
メンバー
パブリックTypedefs
| 名前 | 説明 |
|---|---|
const_pointer |
const オブジェクト内の source_link_manager 要素へのポインターを提供する型。 |
const_reference |
読み取りと const 操作の実行のために、const オブジェクトに格納された source_link_manager 要素への参照を提供する型。 |
iterator |
source_link_manager オブジェクト内の任意の要素の読み取りや変更を行うことができる反復子を提供する型。 |
type |
source_link_manager オブジェクトによって管理されるリンク レジストリの種類。 |
パブリック コンストラクター
| 名前 | 説明 |
|---|---|
| ソースリンクマネージャー |
source_link_manager オブジェクトを構築します。 |
| ~source_link_manager デストラクター |
source_link_manager オブジェクトを破棄します。 |
パブリック メソッド
| 名前 | 説明 |
|---|---|
| 追加 |
source_link_manager オブジェクトにソース リンクを追加します。 |
| begin |
source_link_manager オブジェクト内の最初の要素の反復子を返します。 |
| 含む | この network_link_registry オブジェクト内の source_link_manager で、指定したブロックを検索します。 |
| count |
source_link_manager オブジェクト内のリンク ブロックの数をカウントします。 |
| リファレンス |
source_link_manager オブジェクトの参照を取得します。 |
| register_target_block | この source_link_manager オブジェクトを保持するターゲット ブロックを登録します。 |
| リリース |
source_link_manager オブジェクトの参照を解放します。 |
| remove |
source_link_manager オブジェクトからリンクを削除します。 |
| set_bound | この source_link_manager オブジェクトに追加できるソース リンクの最大数を設定します。 |
解説
現在、ソース ブロックは参照カウント方式で管理されています。 これは、リンクへの同時アクセスを許可し、コールバックを介してリンクを参照する機能を提供する network_link_registry オブジェクトのラッパーです。 メッセージ ブロック (target_blockまたは propagator_block) は、ソース リンクにこのクラスを使用する必要があります。
継承階層
source_link_manager
要件
ヘッダー: agents.h
名前空間: concurrency
追加
source_link_manager オブジェクトにソース リンクを追加します。
void add(_EType _Link);
パラメーター
_Link
追加するブロックへのポインター。
開始
source_link_manager オブジェクト内の最初の要素の反復子を返します。
iterator begin();
戻り値
source_link_manager オブジェクト内の最初の要素をアドレス指定する反復子。
解説
反復子の終了状態は、NULL リンクによって示されます。
含む
この network_link_registry オブジェクト内の source_link_manager で、指定したブロックを検索します。
bool contains(_EType _Link);
パラメーター
_Link
source_link_manager オブジェクト内の検索対象となるブロックへのポインター。
戻り値
指定されたブロックが見つかった場合は true、それ以外の場合は false。
カウント
source_link_manager オブジェクト内のリンク ブロックの数をカウントします。
size_t count();
戻り値
source_link_manager オブジェクト内のリンク ブロックの数。
参照
source_link_manager オブジェクトの参照を取得します。
void reference();
ターゲットブロック登録
この source_link_manager オブジェクトを保持するターゲット ブロックを登録します。
void register_target_block(_Inout_ ITarget<typename _Block::source_type>* _PTarget);
パラメーター
_PTarget
この source_link_manager オブジェクトを保持するターゲット ブロック。
リリース
source_link_manager オブジェクトの参照を解放します。
void release();
削除
source_link_manager オブジェクトからリンクを削除します。
bool remove(_EType _Link);
パラメーター
_Link
削除するブロック (見つかった場合) へのポインター。
戻り値
リンクが見つかって削除された場合は true、それ以外の場合は false。
境界を設定する
この source_link_manager オブジェクトに追加できるソース リンクの最大数を設定します。
void set_bound(size_t _MaxLinks);
パラメーター
_MaxLinks
リンクの最大数。
ソースリンクマネージャー
source_link_manager オブジェクトを構築します。
source_link_manager();
~source_link_manager
source_link_manager オブジェクトを破棄します。
~source_link_manager();
関連項目
コンカレンシー名前空間
single_link_registry クラス
multi_link_registry クラス