nl:: বুনা:: সিস্টেম:: অবজেক্ট

#include <src/system/SystemObject.h>

এটি একটি অবজেক্টপুলের মধ্যে থাকা স্থান থেকে বরাদ্দ করা একটি রেফারেন্স-গণনা করা বস্তুর প্রতিনিধিত্ব করে বস্তু

সারাংশ

দ্রষ্টব্য: এই ক্লাসের উদাহরণ শুধুমাত্র সম্পর্কিত অবজেক্টপুল ক্লাস টেমপ্লেট ব্যবহার করে তৈরি করা যেতে পারে। কপি কনস্ট্রাক্টর এবং অ্যাসাইনমেন্ট অপারেটর মুছে ফেলা হয়েছে। একটি রেফারেন্স গণনা সিস্টেম ব্যবহার করা হয় এই শ্রেণীর দৃষ্টান্তের ধারণ ট্র্যাক করতে। যখন একটি বস্তু প্রাথমিকভাবে ধরে রাখা হয়, তখন তার রেফারেন্স সংখ্যা এক হয়। অতিরিক্ত ধারণ রেফারেন্স সংখ্যা বৃদ্ধি করতে পারে। যখন অবজেক্ট রিলিজ হয়, রেফারেন্স কাউন্ট কমে যায়। যখন রেফারেন্স কাউন্ট শূন্য হয়, তখন বস্তুটি পুনঃবন্টনের জন্য পুলে পুনর্ব্যবহৃত হয়। কোন ধ্বংসকারী উপলব্ধ নেই. সাবক্লাসগুলি অবশ্যই ডিজাইন করা উচিত যাতে নিশ্চিত করা যায় যে সমস্ত এনক্যাপসুলেটেড সংস্থান যখন চূড়ান্ত ধারণ প্রকাশ করা হয় এবং বস্তুটি পুনর্ব্যবহার করা হয়। যদিও এই শ্রেণীটিকে কংক্রিট হিসাবে সংজ্ঞায়িত করা হয়েছে, Nest C++ শৈলীর সাথে সামঞ্জস্য রেখে, এটিকে বিমূর্ত হিসাবে বিবেচনা করা উচিত।

উত্তরাধিকার

সরাসরি পরিচিত সাবক্লাস:
  nl::Inet::InetLayerBasis
  nl::ওয়েভ::সিস্টেম::টাইমার

সুরক্ষিত প্রকার

ReleaseDeferralErrorTactic {
kReleaseDeferralErrorTactic_Ignore ,
kReleaseDeferralErrorTactic_Release ,
kReleaseDeferralErrorTactic_Die
}
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
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 পোস্ট করতে ব্যর্থ হলে কি করবেন।

পাবলিক বৈশিষ্ট্য

অ্যাপস্টেট

void * AppState

বস্তুর সাথে যুক্ত অ্যাপ-নির্দিষ্ট ডেটাতে জেনেরিক পয়েন্টার।

পাবলিক ফাংশন

ধরে রাখা হয়েছে

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.

যদি রেফারেন্স কাউন্ট শূন্যে কমে যায় তবে বস্তুটিকে পুলে পুনরায় ব্যবহার করে। কোনো ধ্বংসকারীকে ডাকা হয় না।

ধরে রাখা

void Retain(
  void
)

Increments the reference count for the Weave System Layer object.

বস্তুটি লাইভ বলে ধরে নেওয়া হয়।

সিস্টেম লেয়ার

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.

বস্তুটি লাইভ বলে ধরে নেওয়া হয়।

সুরক্ষিত ফাংশন

বিলম্বিত রিলিজ

void DeferredRelease(
  ReleaseDeferralErrorTactic aTactic
)