nl:: Weave:: System:: Object
#include <src/system/SystemObject.h>
Dies stellt ein Objekt mit gezählter Referenz dar, das aus dem Bereich zugewiesen ist, der in einem ObjectPool enthalten ist<t, n=""> -Objekt enthält. </t,>
Zusammenfassung
Hinweis:Die Instanz dieser Klasse kann nur mit der zugehörigen Klassenvorlage ObjectPool erstellt werden. Der Kopierkonstruktor und der Zuweisungsoperator werden gelöscht. Ein Referenzzählsystem wird verwendet, um die Aufbewahrung von Instanzen dieser Klasse zu verfolgen. Wenn ein Objekt anfänglich beibehalten wird, beträgt seine Referenzanzahl eins. Zusätzliche Aufbewahrungen können die Anzahl der Referenzen erhöhen. Wenn das Objekt freigegeben wird, wird die Referenzzahl verringert. Wenn die Referenzanzahl null ist, wird das Objekt zur Neuzuweisung zurück in den Pool zurückgeführt. Es ist kein Zerstörer verfügbar. Abgeleitete Klassen müssen so konzipiert werden, dass alle gekapselten Ressourcen freigegeben werden, wenn die endgültige Aufbewahrung freigegeben und das Objekt recycelt wird. Obwohl diese Klasse als konkret definiert ist, sollte sie gemäß Nest C++-Stil als abstrakt angesehen werden.
Übernahme
Direkte bekannte abgeleitete Klassen:nl::Inet::InetLayerBasis
nl::Weave::System::Timer
Geschützte Typen |
|
---|---|
ReleaseDeferralErrorTactic{
|
enum < Vorgehensweise, wenn DeferredRelease ein kEvent_ReleaseObj nicht veröffentlicht |
Öffentliche Attribute |
|
---|---|
AppState
|
void *
Generischer Zeiger auf anwendungsspezifische Daten, die dem Objekt zugeordnet sind.
|
Öffentliche Funktionen |
|
---|---|
IsRetained(const Layer & aLayer) const
|
bool
Testen Sie, ob dieses Objekt von
aLayer beibehalten wird. |
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. |
Geschützte Funktionen |
|
---|---|
DeferredRelease(ReleaseDeferralErrorTactic aTactic)
|
void
|
Geschützte Typen
ReleaseDeferralErrorTactic
ReleaseDeferralErrorTactic
< Vorgehensweise, wenn DeferredRelease ein kEvent_ReleaseObj nicht veröffentlicht
Öffentliche Attribute
AppState
void * AppState
Generischer Zeiger auf anwendungsspezifische Daten, die dem Objekt zugeordnet sind.
Öffentliche Funktionen
IsRetained
bool IsRetained( const Layer & aLayer ) const
Testen Sie, ob dieses Objekt von aLayer
beibehalten wird.
Tests whether this object is retained by \c aLayer.
Sicherheit bei gleichzeitiger Nutzung.
Release
void Release( void )
Decrements the reference count for the Weave System Layer object.
Recycelt das Objekt wieder in den Pool, wenn die Referenzanzahl auf null verringert wird. Es wird kein Destruktor aufgerufen.
Beibehalten
void Retain( void )
Increments the reference count for the Weave System Layer object.
Es wird davon ausgegangen, dass das Objekt live ist.
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.
Es wird davon ausgegangen, dass das Objekt live ist.