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{
|
enum < สิ่งที่ต้องทำเมื่อ 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.
นำวัตถุกลับเข้าไปในพูล หากจำนวนการอ้างอิงลดลงเป็น 0 ไม่มีการเรียกใช้เครื่องมือทำลาย
เก็บรักษา
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.
ระบบจะถือว่าออบเจ็กต์มีการใช้งานอยู่