nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
代表從 ObjectPool<t, n=""> 物件中包含的空間,分配的參考計數物件。</t,>
摘要
注意:此類別的例項只能以相關的 ObjectPool 類別範本建構。系統會刪除複製建構函式和指派運算子。參考計數系統可用來追蹤這個類別中例項的保留時間。當原始物件最初保留時,其參考計數為 1。延長保留時間可能會使參考次數增加。物件釋出後,參照次數就會減少。當參考計數為 0 時,物件會回收回集區進行重新分配。無拆解機。您必須設計子類別,確保最終保留時間釋放並回收物件時,所有封裝資源都會釋出。雖然此類別的定義為具體,但與 Nest C++ 樣式相符,仍應將其視為抽象類別。
繼承
直接已知子類別:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
受保護的類型 |
|
---|---|
ReleaseDeferralErrorTactic{
|
列舉 < DeferredRelease 無法發布 kEvent_ReleaseObj 時的處理方式。 |
公開屬性 |
|
---|---|
AppState
|
void *
與物件相關聯的應用程式專屬資料通用指標。
|
公用函式 |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
測試
aLayer 是否保留這個物件。 |
Release(void)
|
void
Decrements the reference count for the Weave System Layer object. |
Retain(void)
|
void
Increments the reference count for the Weave System Layer object. |
SystemLayer(void) const
|
Layer &
Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding object pool instance. |
受保護的函式 |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
受保護的類型
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< DeferredRelease 無法發布 kEvent_ReleaseObj 時的處理方式。
公開屬性
AppState
void * AppState
與物件相關聯的應用程式專屬資料通用指標。
公用函式
IsRetained
bool IsRetained( const Layer & aLayer ) const
測試 aLayer
是否保留這個物件。
Tests whether this object is retained by \c aLayer.
並行安全。
發布
void Release( void )
Decrements the reference count for the Weave System Layer object.
如果參照次數減少至零,則將該物件回收回集區。不會叫用任何解構函式。
保留
void Retain( void )
Increments the reference count for the Weave System Layer object.
系統會假設物件為有效。
SystemLayer
Layer & SystemLayer( void ) const
Returns a reference to the Weave System Layer object provided when the object was initially retained from its corresponding object pool instance.
系統會假設物件為有效。