Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

nl::Tenun::Sistem::Objek

#include <src/system/SystemObject.h>

Ini mewakili objek yang dihitung referensi yang dialokasikan dari ruang yang terdapat dalam objek ObjectKumpulan<t, n="">. </t,>

Ringkasan

Catatan:Instance class ini hanya dapat dibuat menggunakan template class Object Pool terkait. Konstruktor penyalinan dan operator penetapan akan dihapus. Sistem penghitungan referensi digunakan untuk melacak retensi instance dari class ini. Saat sebuah objek pertama kali dipertahankan, jumlah referensinya adalah satu. Retensi tambahan dapat menambah jumlah referensi. Saat objek dilepaskan, jumlah referensi akan berkurang. Jika jumlah referensi bernilai nol, objek akan didaur ulang ke kumpulan objek untuk alokasi ulang. Destruktor tidak tersedia. Subclass harus dirancang untuk memastikan bahwa semua resource yang dienkapsulasi dilepaskan saat retensi akhir dilepaskan dan objek didaur ulang. Meskipun didefinisikan sebagai konkret, class ini harus sesuai dengan gaya Nest C++ dan harus dianggap sebagai abstrak.

Warisan

Subclass Langsung yang Diketahui:
nl::Inet::InetLayerBasis
nl::Weave::System::Timer

Jenis yang dilindungi

ReleaseDeferralErrorTactic{
  kReleaseDeferralErrorTactic_Ignore,
  kReleaseDeferralErrorTactic_Release,
  kReleaseDeferralErrorTactic_Die
}
enum
< Apa yang harus dilakukan jika DeferredRelease gagal memposting kEvent_ReleaseObj.

Atribut publik

AppState
void *
Pointer generik ke data khusus aplikasi yang terkait dengan objek.

Fungsi publik

IsRetained(const Layer & aLayer) const
bool
Uji apakah objek ini dipertahankan oleh 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.

Fungsi yang dilindungi

DeferredRelease(ReleaseDeferralErrorTactic aTactic)
void

Jenis yang dilindungi

RilisDeferralErrorTactic

 ReleaseDeferralErrorTactic

< Apa yang harus dilakukan jika DeferredRelease gagal memposting kEvent_ReleaseObj.

Atribut publik

StatusAplikasi

void * AppState

Pointer generik ke data khusus aplikasi yang terkait dengan objek.

Fungsi publik

Disimpan

bool IsRetained(
  const Layer & aLayer
) const 

Uji apakah objek ini dipertahankan oleh aLayer.

Tests whether this object is retained by \c aLayer.

Aman serentak.

Rilis

void Release(
  void
)

Decrements the reference count for the Weave System Layer object.

Mendaur ulang objek kembali ke kumpulan jika jumlah referensi berkurang hingga nol. Tidak ada destruktor yang dipanggil.

Pertahankan

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

Objek ini dianggap aktif.

SistemLayer

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.

Objek ini dianggap aktif.

Fungsi yang dilindungi

Rilis Ditangguhkan

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)