Face Engine SDK  5.8.0
A face detection, recognition and tracking engine.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
fsdk::IRefCounted Struct Referenceabstract

Base strong reference counted object interface. More...

#include <IRefCounted.h>

Inheritance diagram for fsdk::IRefCounted:
fsdk::IAGSEstimator fsdk::IAsyncContext fsdk::IBestShotQualityEstimator fsdk::IDescriptorExtractor fsdk::IDescriptorMatcher fsdk::IDetector fsdk::IEyeEstimator fsdk::IFaceDetectionBatch fsdk::IFaceEngineMobile fsdk::IGlassesEstimator fsdk::IHeadPoseEstimator fsdk::IHumanDetectionBatch fsdk::IHumanDetector fsdk::IHumanWarper fsdk::IIndex fsdk::IIndexBuilder fsdk::ILicense fsdk::ILivenessOneShotRGBEstimator fsdk::IMedicalMaskEstimator fsdk::IQualityEstimator fsdk::IResultBatch< T > fsdk::ISerializableObject fsdk::ISettingsProvider fsdk::IWarper

Public Member Functions

virtual int32_t retain () noexcept=0
 Increase strong reference count. More...
 
virtual int32_t retainLocked () noexcept=0
 Increase strong reference count thread safely. More...
 
virtual int32_t release () noexcept=0
 Decrease strong reference count. More...
 
virtual int32_t getRefCount () const noexcept=0
 Get actual strong reference count. More...
 
virtual int32_t retainWeak () noexcept=0
 Increase weak reference count. More...
 
virtual int32_t releaseWeak () noexcept=0
 Decrease weak reference count. More...
 
virtual int32_t getWeakRefCount () const noexcept=0
 Get actual weak reference count. More...
 

Detailed Description

Base strong reference counted object interface.

Implements common reference counting routines to control object life time.

Use retain() to notify the object you are going to use it, thus sharing it's ownership. Use release() to release object reference when it is no longer needed. Use getRefCount() to obtain current reference count of the object.

All objects are created with initial strong reference count of 1 and weak reference count of 1.

When object reference count drops to 0, it's destroyed and deallocated automatically.

All functions of this interface have thread safe implementations in SDK classes.

Note
You should always destroy reference counted objects by calling appropriate release() function and never try to call delete on them directly!

Member Function Documentation

virtual int32_t fsdk::IRefCounted::getRefCount ( ) const
pure virtualnoexcept

Get actual strong reference count.

Returns
actual reference counter value.
virtual int32_t fsdk::IRefCounted::getWeakRefCount ( ) const
pure virtualnoexcept

Get actual weak reference count.

Returns
actual reference counter value.
virtual int32_t fsdk::IRefCounted::release ( )
pure virtualnoexcept

Decrease strong reference count.

Returns
actual reference counter value.
virtual int32_t fsdk::IRefCounted::releaseWeak ( )
pure virtualnoexcept

Decrease weak reference count.

Returns
actual reference counter value.
virtual int32_t fsdk::IRefCounted::retain ( )
pure virtualnoexcept

Increase strong reference count.

Returns
actual reference counter value. If less than 1 is returned, it has failed
virtual int32_t fsdk::IRefCounted::retainLocked ( )
pure virtualnoexcept

Increase strong reference count thread safely.

Returns
actual reference counter value. If less than 1 is returned, it has failed
virtual int32_t fsdk::IRefCounted::retainWeak ( )
pure virtualnoexcept

Increase weak reference count.

Returns
actual reference counter value. If less than 1 is returned, it has failed

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