Face Engine SDK  5.23.1
A face detection, recognition and tracking engine.
fsdk::IRefCounted Struct Reference

Base strong reference counted object interface. More...

#include <IRefCounted.h>

Inheritance diagram for fsdk::IRefCounted:
fsdk::IAGSEstimator fsdk::IAsyncContext fsdk::IBestShotQualityEstimator fsdk::IDepthLivenessEstimator fsdk::IDescriptorExtractor fsdk::IDescriptorMatcher fsdk::IDetectionBatch fsdk::IDetector fsdk::IEyeEstimator fsdk::IFaceDetectionBatch fsdk::IFaceEngineMobile fsdk::IFaceLandmarksBatch fsdk::IFaceLandmarksDetector fsdk::IFaceOcclusionEstimator fsdk::IGlassesEstimator fsdk::IHeadPoseEstimator fsdk::IImagesBatch fsdk::IImageTransfer fsdk::ILicense fsdk::ILivenessDepthRGBEstimator fsdk::ILivenessOneShotRGBEstimator fsdk::IMedicalMaskEstimator fsdk::IMouthEstimator fsdk::INIRLivenessEstimator fsdk::IPointBatch fsdk::IQualityEstimator fsdk::IResultBatch< T > fsdk::ISerializableObject fsdk::ISettingsProvider fsdk::IWarper

List of all members.

Public Member Functions

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

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 virtual]

Get actual strong reference count.

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

Get actual weak reference count.

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

Decrease strong reference count.

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

Decrease weak reference count.

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

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 virtual]

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 virtual]

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines