nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
מייצג אובייקט שנספר באמצעות הפניות שהוקצה משטח הכלול ב-ObjectPool<t, n=""> לאובייקט. </t,>
סיכום
הערה: אפשר לבנות את המכונה של המחלקה הזו רק באמצעות תבנית המחלקה הקשורה של ObjectPool. constructor של ההעתקה ואופרטור ההקצאה יימחקו. מערכת לספירת הפניות משמשת למעקב אחרי השימורים של מופעים של הקטגוריה הזו. כשאובייקט נשמר בהתחלה, ספירת ההפניות שלו היא 1. שמירת נתונים נוספת עשויה להגדיל את מספר קובצי העזר. כשהאובייקט משוחרר, מספר ההפניות יורד. כשמספר ההפניות הוא אפס, האובייקט ממוחזר חזרה למאגר לצורך הקצאה מחדש. אין כלי destructor זמין. צריך לעצב מחלקות משנה כדי להבטיח שכל המשאבים הנאספים ישוחררו כשהשמירה הסופית תשוחרר וכשהאובייקט ימוחזר. הסיווג הזה מוגדר כקורטי, אבל בהתאם לסגנון Nest C++ יש להתייחס אליו כאל מידע מופשט.
ירושה
מחלקות משנה מוכרות ישירות:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
סוגים מוגנים |
|
---|---|
ReleaseDeferralErrorTactic{
|
טיפוסים בני מנייה (enum) < מה עושים אם הפרסום של קובץ 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
< מה עושים אם הפרסום של קובץ kEvent_ReleaseObj לא תקין.
מאפיינים ציבוריים
AppState
void * AppState
מצביע גנרי לנתונים ספציפיים לאפליקציה שמשויכים לאובייקט.
פונקציות ציבוריות
IsRetained
bool IsRetained( const Layer & aLayer ) const
אפשר לבדוק אם האובייקט הזה נשמר על ידי aLayer
.
Tests whether this object is retained by \c aLayer.
יש הגנה על בו-זמניות (concurrency).
פריט תוכן
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.
ההנחה היא שהאובייקט פעיל.