nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
這代表從 ObjectPool<t, n=""> 所含空間分配的參考計數物件物件。</t,>
摘要
注意:此類別的執行個體只能使用相關的 ObjectPool 類別範本建構。系統會刪除複製建構函式和指派運算子。參照計數系統是用來追蹤這個類別例項的保留作業。當物件最初保留時,其參考計數會是一。額外保留時間可能會增加參考次數。發布物件時,參考計數會減少。當參考計數為 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.
系統會將物件視為有效狀態。