| Flutter Impeller |

Public Member Functions | Static Public Member Functions | List of all members
impeller::interop::ObjectBase Class Reference

`#include <object.h>`

Inheritance diagram for impeller::interop::ObjectBase:

## Public Member Functions
| ObjectBase ()=default
virtual | ~ObjectBase ()=default
| ObjectBase (const ObjectBase &)=delete
| ObjectBase (ObjectBase &&)=delete
ObjectBase & | operator= (const ObjectBase &)=delete
ObjectBase & | operator= (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

Definition at line 29 of file object.h.

29 { ref_count_++; }

Referenced by impeller::interop::ScopedObject< impeller::interop::Context >::operator=(), SafeRetain(), and impeller::interop::ScopedObject< impeller::interop::Context >::ScopedObject().

## ◆ SafeRelease()

static void impeller::interop::ObjectBase::SafeRelease | ( | void * | ptr | ) |
| inlinestatic

Definition at line 43 of file object.h.

43 {
44 if (ptr) {
45 reinterpret_cast<ObjectBase*>(ptr)->Release();
46 }
47 }

References Release().

Referenced by impeller::interop::ImpellerColorFilterRelease(), impeller::interop::ImpellerColorSourceRelease(), impeller::interop::ImpellerContextRelease(), impeller::interop::ImpellerDisplayListBuilderRelease(), impeller::interop::ImpellerDisplayListRelease(), impeller::interop::ImpellerImageFilterRelease(), impeller::interop::ImpellerMaskFilterRelease(), impeller::interop::ImpellerPaintRelease(), impeller::interop::ImpellerParagraphBuilderRelease(), impeller::interop::ImpellerParagraphRelease(), impeller::interop::ImpellerParagraphStyleRelease(), impeller::interop::ImpellerPathBuilderRelease(), impeller::interop::ImpellerPathRelease(), impeller::interop::ImpellerSurfaceRelease(), impeller::interop::ImpellerTextureRelease(), and impeller::interop::ImpellerTypographyContextRelease().

## ◆ SafeRetain()

static void impeller::interop::ObjectBase::SafeRetain | ( | void * | ptr | ) |
| inlinestatic

Definition at line 37 of file object.h.

37 {
38 if (ptr) {
39 reinterpret_cast<ObjectBase*>(ptr)->Retain();
40 }
41 }

References Retain().

Referenced by impeller::interop::ImpellerColorFilterRetain(), impeller::interop::ImpellerColorSourceRetain(), impeller::interop::ImpellerContextRetain(), impeller::interop::ImpellerDisplayListBuilderRetain(), impeller::interop::ImpellerDisplayListRetain(), impeller::interop::ImpellerImageFilterRetain(), impeller::interop::ImpellerMaskFilterRetain(), impeller::interop::ImpellerPaintRetain(), impeller::interop::ImpellerParagraphBuilderRetain(), impeller::interop::ImpellerParagraphRetain(), impeller::interop::ImpellerParagraphStyleRetain(), impeller::interop::ImpellerPathBuilderRetain(), impeller::interop::ImpellerPathRetain(), impeller::interop::ImpellerSurfaceRetain(), impeller::interop::ImpellerTextureRetain(), and impeller::interop::ImpellerTypographyContextRetain().

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

- impeller/toolkit/interop/object.h

impeller::interop::ObjectBase::Retain
void Retain()
Definition: object.h:29
impeller::interop::ObjectBase::ObjectBase
ObjectBase()=default
impeller::interop::ObjectBase::Release
void Release()
Definition: object.h:31