Flutter Impeller
impeller::interop::ObjectBase Class Reference

#include <object.h>

Inheritance diagram for impeller::interop::ObjectBase:
impeller::interop::Object< DisplayListBuilder, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerDisplayListBuilder)> impeller::interop::Object< FlagObject, IMPELLER_INTERNAL_HANDLE_NAME(FlagHandle)> impeller::interop::Object< Path, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPath)> impeller::interop::Object< TypographyContext, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerTypographyContext)> impeller::interop::Object< ParagraphBuilder, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerParagraphBuilder)> impeller::interop::Object< SwapchainVK, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerVulkanSwapchain)> impeller::interop::Object< ParagraphStyle, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerParagraphStyle)> impeller::interop::Object< LineMetrics, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerLineMetrics)> impeller::interop::Object< PathBuilder, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPathBuilder)> impeller::interop::Object< FragmentProgram, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerFragmentProgram)> impeller::interop::Object< Texture, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerTexture)> impeller::interop::Object< MaskFilter, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerMaskFilter)> impeller::interop::Object< Paragraph, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerParagraph)> impeller::interop::Object< TestObject, IMPELLER_INTERNAL_HANDLE_NAME(TestHandle)> impeller::interop::Object< Context, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerContext)> impeller::interop::Object< Paint, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerPaint)> impeller::interop::Object< GlyphInfo, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerGlyphInfo)> impeller::interop::Object< DisplayList, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerDisplayList)> impeller::interop::Object< ColorFilter, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerColorFilter)> impeller::interop::Object< Surface, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerSurface)> impeller::interop::Object< ImageFilter, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerImageFilter)> impeller::interop::Object< ColorSource, IMPELLER_INTERNAL_HANDLE_NAME(ImpellerColorSource)> impeller::interop::Object< Clasz, CSibling >

Public Member Functions

 ObjectBase ()=default
 
virtual ~ObjectBase ()=default
 
 ObjectBase (const ObjectBase &)=delete
 
 ObjectBase (ObjectBase &&)=delete
 
ObjectBaseoperator= (const ObjectBase &)=delete
 
ObjectBaseoperator= (ObjectBase &&)=delete
 
void Retain ()
 
void Release ()
 
uint64_t GetRefCountForTests () const
 

Static Public Member Functions

static void SafeRetain (void *ptr)
 
static void SafeRelease (void *ptr)
 

Detailed Description

Definition at line 15 of file object.h.

Constructor & Destructor Documentation

◆ ObjectBase() [1/3]

impeller::interop::ObjectBase::ObjectBase ( )
default

◆ ~ObjectBase()

virtual impeller::interop::ObjectBase::~ObjectBase ( )
virtualdefault

◆ ObjectBase() [2/3]

impeller::interop::ObjectBase::ObjectBase ( const ObjectBase )
delete

◆ ObjectBase() [3/3]

impeller::interop::ObjectBase::ObjectBase ( ObjectBase &&  )
delete

Member Function Documentation

◆ GetRefCountForTests()

uint64_t impeller::interop::ObjectBase::GetRefCountForTests ( ) const
inline

Definition at line 49 of file object.h.

49 { return ref_count_; }

◆ operator=() [1/2]

ObjectBase& impeller::interop::ObjectBase::operator= ( const ObjectBase )
delete

◆ operator=() [2/2]

ObjectBase& impeller::interop::ObjectBase::operator= ( ObjectBase &&  )
delete

◆ Release()

void impeller::interop::ObjectBase::Release ( )
inline

Definition at line 31 of file object.h.

31  {
32  if (ref_count_-- == 1u) {
33  delete this;
34  }
35  }

Referenced by SafeRelease().

◆ Retain()

void impeller::interop::ObjectBase::Retain ( )
inline

◆ SafeRelease()

◆ SafeRetain()


The documentation for this class was generated from the following file: