Google is committed to advancing racial equity for Black communities. See how.

এনএল :: তাঁত :: পদ্ধতি:: অবজেক্ট

#include <src/system/SystemObject.h>

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

সারসংক্ষেপ

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

উত্তরাধিকার

প্রত্যক্ষ জ্ঞাত সাবক্লাস:
  nl :: Inet :: InetLayerBasis
  nl :: তাঁত :: সিস্টেম :: টাইমার

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

ReleaseDeferralErrorTactic {
kReleaseDeferralErrorTactic_Ignore ,
kReleaseDeferralErrorTactic_Release ,
kReleaseDeferralErrorTactic_Die
}
এনাম
<যখন ডিফার্ডরেইলিজ কোনও কেভেস্ট_রিলিজঅবজে পোস্ট করতে ব্যর্থ হয় তখন কী করবেন।

জনসাধারণের গুণাবলী

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

<যখন ডিফার্ডরেইলিজ কোনও কেভেস্ট_রিলিজঅবজে পোস্ট করতে ব্যর্থ হয় তখন কী করবেন।

জনসাধারণের গুণাবলী

অ্যাপস্টেট

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
)