次の方法で共有


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 クラス