source_link_manager クラス
source_link_manager
オブジェクトは、ISource
ブロックへのメッセージング ブロック ネットワーク リンクを管理します。
構文
template<class _LinkRegistry>
class source_link_manager;
パラメーター
_LinkRegistry
ネットワーク リンク レジストリ。
メンバー
パブリック typedef
名前 | 説明 |
---|---|
const_pointer |
source_link_manager オブジェクト内の const 要素へのポインターを提供する型。 |
const_reference |
読み取りと const 操作の実行のために、source_link_manager オブジェクトに格納された const 要素への参照を提供する型。 |
iterator |
source_link_manager オブジェクト内の任意の要素の読み取りや変更を行うことができる反復子を提供する型。 |
type |
source_link_manager オブジェクトによって管理されるリンク レジストリの種類。 |
パブリック コンストラクター
名前 | 説明 |
---|---|
source_link_manager | source_link_manager オブジェクトを構築します。 |
~source_link_manager デストラクター | source_link_manager オブジェクトを破棄します。 |
パブリック メソッド
名前 | 説明 |
---|---|
add | source_link_manager オブジェクトにソース リンクを追加します。 |
begin | source_link_manager オブジェクト内の最初の要素の反復子を返します。 |
contains | この source_link_manager オブジェクト内の network_link_registry で、指定したブロックを検索します。 |
count | source_link_manager オブジェクト内のリンク ブロックの数をカウントします。 |
参照先 | source_link_manager オブジェクトの参照を取得します。 |
register_target_block | この source_link_manager オブジェクトを保持するターゲット ブロックを登録します。 |
release | 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
add
source_link_manager
オブジェクトにソース リンクを追加します。
void add(_EType _Link);
パラメーター
_Link
追加するブロックへのポインター。
begin
source_link_manager
オブジェクト内の最初の要素の反復子を返します。
iterator begin();
戻り値
source_link_manager
オブジェクト内の最初の要素をアドレス指定する反復子。
解説
反復子の終了状態は、NULL
リンクによって示されます。
contains
この source_link_manager
オブジェクト内の network_link_registry
で、指定したブロックを検索します。
bool contains(_EType _Link);
パラメーター
_Link
source_link_manager
オブジェクト内の検索対象となるブロックへのポインター。
戻り値
指定されたブロックが見つかった場合は true
、それ以外の場合は false
。
count
source_link_manager
オブジェクト内のリンク ブロックの数をカウントします。
size_t count();
戻り値
source_link_manager
オブジェクト内のリンク ブロックの数。
reference
source_link_manager
オブジェクトの参照を取得します。
void reference();
register_target_block
この source_link_manager
オブジェクトを保持するターゲット ブロックを登録します。
void register_target_block(_Inout_ ITarget<typename _Block::source_type>* _PTarget);
パラメーター
_PTarget
この source_link_manager
オブジェクトを保持するターゲット ブロック。
release
source_link_manager
オブジェクトの参照を解放します。
void release();
remove
source_link_manager
オブジェクトからリンクを削除します。
bool remove(_EType _Link);
パラメーター
_Link
削除するブロック (見つかった場合) へのポインター。
戻り値
リンクが見つかって削除された場合は true
、それ以外の場合は false
。
set_bound
この 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
オブジェクトを破棄します。
~source_link_manager();
関連項目
コンカレンシー名前空間
single_link_registry クラス
multi_link_registry クラス