nl::Doku::Sistem::Nesne

#include <src/system/SystemObject.h>

Bu değer, bir ObjectPool<t, n=&`; </t,>

Özet

Not: Bu sınıfın örneği yalnızca ilgili ObjectPool sınıf şablonu kullanılarak oluşturulabilir. Kopya oluşturucu ve atama operatörü silinir. Referans sayma sistemi, bu sınıfın örneklerinin elde tutulmasını izlemek için kullanılır. Bir nesne ilk olarak tutulduğunda, referans sayısı bir olur. Ek saklama işlemleri referans sayısını artırabilir. Nesne bırakıldığında, referans sayısı azaltılır. Referans sayısı sıfır olduğunda nesne, ayırma işlemi için havuza geri dönüştürülür. Yıkıcı yok. Alt sınıflar, elde tutulan nihai nesne serbest bırakıldığında ve nesne geri dönüştürüldüğünde, çevredeki tüm kaynakların serbest bırakılmasını sağlayacak şekilde tasarlanmalıdır. Bu sınıf somut olarak tanımlanmış olsa da, Nest C++ stiline uygun olarak soyut olarak değerlendirilmelidir.

Devralma

Doğrudan Bilinen Alt Sınıflar:
nl::Inet::InetLayerBasis
nl::Weave::System::Zamanlayıcı

Korunan türler

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< DeferredRelease bir kEvent_ReleaseObj yayınlayamadığında ne yapılmalı?

Herkese açık özellikler

AppState
void *
Nesneyle ilişkili uygulamaya özel verilerin genel işaretçisi.

Herkese açık işlevler

IsRetained(const Layer & aLayer) const
bool
Bu nesnenin aLayer tarafından saklanıp saklanmadığını test edin.
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.

Korumalı işlevler

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

Korunan türler

Sürüm DeferralErrorTactic'te

 ReleaseDeferralErrorTactic

< DeferredRelease bir kEvent_ReleaseObj yayınlayamadığında ne yapılmalı?

Herkese açık özellikler

Uygulama Durumu

void * AppState

Nesneyle ilişkili uygulamaya özel verilerin genel işaretçisi.

Herkese açık işlevler

Tutuldu

bool IsRetained(
  const Layer & aLayer
) const 

Bu nesnenin aLayer tarafından saklanıp saklanmadığını test edin.

Tests whether this object is retained by \c aLayer.

Eşzamanlı güvenli.

Serbest bırak

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Referans sayısı sıfıra düşürülürse nesneyi havuza geri dönüştürür. Herhangi bir yok edici çağrılmaz.

Saklama

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Nesnenin yayında olduğu varsayılır.

Sistem Katmanı

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.

Nesnenin yayında olduğu varsayılır.

Korumalı işlevler

Ertelenen Sürüm

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)