Face Engine SDK  5.21.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::experimental::IDeepFakeEstimator fsdk::IAGSEstimator fsdk::IAsyncContext fsdk::IBackgroundEstimator fsdk::IBestShotQualityEstimator fsdk::IBlackWhiteEstimator fsdk::ICredibilityCheckEstimator fsdk::ICrowdEstimator fsdk::IDescriptorExtractor fsdk::IDescriptorMatcher fsdk::IDetectionBatch fsdk::IDetector fsdk::IDynamicRangeEstimator fsdk::IEmotionsEstimator fsdk::IEthnicityEstimator fsdk::IEyeBrowEstimator fsdk::IEyeEstimator fsdk::IFaceDetectionBatch fsdk::IFaceEngine fsdk::IFaceLandmarksBatch fsdk::IFaceLandmarksDetector fsdk::IFacialHairEstimator fsdk::IFightsEstimator fsdk::IFightsEstimatorContext fsdk::IFishEyeEstimator fsdk::IGazeEstimator fsdk::IGlassesEstimator fsdk::IHeadDetector fsdk::IHeadPoseEstimator fsdk::IHeadWearEstimator fsdk::IHumanAttributeEstimator fsdk::IHumanDetectionBatch fsdk::IHumanDetector fsdk::IHumanFaceBatch fsdk::IHumanFaceDetector fsdk::IHumanWarper fsdk::IIDMap fsdk::IIndex fsdk::IIndexBuilder fsdk::ILicense fsdk::ILivenessDepthEstimator fsdk::ILivenessDepthRGBEstimator fsdk::ILivenessFlyingFacesEstimator fsdk::ILivenessFPREstimator fsdk::ILivenessIREstimator fsdk::ILivenessOneShotRGBEstimator fsdk::ILivenessRGBMEstimator fsdk::IMedicalMaskEstimator fsdk::IMouthEstimator fsdk::INaturalLightEstimator fsdk::INIRLivenessEstimator fsdk::IOrientationEstimator fsdk::IOverlapEstimator fsdk::IPointBatch fsdk::IPortraitStyleEstimator fsdk::IPPEEstimator fsdk::IQualityEstimator fsdk::IRedEyeEstimator 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: