multi_link_registry 類別
multi_link_registry
物件是管理多個來源區塊或多個目標區塊的 network_link_registry
。
語法
template<class _Block>
class multi_link_registry : public network_link_registry<_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.) |
計數 | 計算物件中的 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);
參數
_連結
要加入之區塊的指標。
備註
如果連結已存在於登錄中,或已使用 函式設定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);
參數
_連結
要搜尋物件中之區塊的 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 例外狀況。
remove
從 multi_link_registry
物件中移除連結。
virtual bool remove(_EType _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
例外狀況。