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 Namespace Reference

SDK namespace. More...

Classes

struct  IAGSEstimator
 Approximate Garbage Score estimator interface. More...
 
struct  IBestShotQualityEstimator
 BestShotQuality estimator interface. More...
 
struct  EyesEstimation
 Eyes estimation output. More...
 
struct  EyeCropper
 EyeCropper is a helper structure for IEyeEstimator interface Methods of this structure crop an input warped image and returns rectangle coordinates of each eye. More...
 
struct  IEyeEstimator
 Eye estimator interface. More...
 
struct  IGlassesEstimator
 Glasses estimator interface. More...
 
struct  HeadPoseEstimation
 Head pose estimation output. More...
 
struct  IHeadPoseEstimator
 Head pose angles estimator interface. More...
 
struct  DepthRGBEstimation
 Depth+RBG liveness estimation output structure. More...
 
struct  ILivenessDepthRGBEstimator
 Depth+RGB estimator interface. More...
 
struct  LivenessOneShotRGBEstimation
 Liveness OneShotRGB estimation structure. More...
 
struct  ILivenessOneShotRGBEstimator
 OneShot RGB Liveness estimator interface. More...
 
struct  MedicalMaskEstimation
 MedicalMask estimator output structure. This structure contains the result of estimation (. More...
 
struct  MedicalMaskEstimationExtended
 MedicalMask estimator output structure. This structure contains the result of estimation (. More...
 
struct  IMedicalMaskEstimator
 MedicalMask estimator interface. More...
 
struct  NIRLivenessEstimation
 NIR Liveness estimation structure. Each score in normalized [0, 1] range, state shows real person or not. More...
 
struct  INIRLivenessEstimator
 Infra red liveness estimator interface. More...
 
struct  Quality
 Quality estimation structure Each estimation is given in normalized [0, 1] range. Parameter meanings: More...
 
struct  SubjectiveQuality
 Subjective Quality estimation structure Each estimation is given in normalized [0, 1] range. Parameter meanings: More...
 
struct  IQualityEstimator
 Image quality estimator interface. More...
 
struct  Exception
 
struct  ErrorTraits< FSDKError >
 Specialized for FSDKError. More...
 
struct  IAsyncContext
 Interface for running tasks asynchronously. More...
 
struct  MatchingResult
 Result of descriptor matching. More...
 
struct  IDescriptor
 Descriptor interface. More...
 
struct  IDescriptorBatch
 Descriptor batch interface. More...
 
struct  ErrorTraits< IDescriptorBatch::Error >
 Specialized for DescriptorBatchError. More...
 
struct  IDescriptorExtractor
 Descriptor extractor interface. More...
 
struct  IDescriptorMatcher
 Descriptor matcher interface. More...
 
struct  IDetectionBatch
 Detection result batch interface. More...
 
class  IDetectionComparer
 Interface of BestDetection comparer. Implement it if you want to use own BestDetection strategy. More...
 
class  FunctionDetectionComparer
 Syntax sugar, allows you to use lambdas to define a BestDetection comparer. More...
 
struct  IDetector
 face detector interface. More...
 
struct  IFaceDetectionBatch
 Face detection result batch interface. More...
 
struct  IFaceEngineMobile
 Root LUNA SDK object interface. More...
 
struct  IFaceLandmarksBatch
 Landmarks result batch interface. More...
 
struct  IFaceLandmarksDetector
 
struct  ILicense
 License objects interface. More...
 
struct  IArchive
 Archive interface. More...
 
struct  ISerializableObject
 Serializable object interface. More...
 
struct  ErrorTraits< ISerializableObject::Error >
 Specialized for ISerializableObject::SerializationError. More...
 
struct  IDataStorageObject
 Data storage object interface helper. More...
 
struct  IPointBatch
 Points result batch interface. More...
 
struct  IRefCounted
 Base strong reference counted object interface. More...
 
struct  IResultBatch
 
struct  ISettingsProvider
 SDK settings provider interface. More...
 
struct  ErrorTraits< ISettingsProvider::Error >
 Specialized for ISettingsProvider::ParseError. More...
 
struct  IWarper
 Face detection area warper interface. More...
 
struct  LaunchOptions
 LaunchOptions struct configures inference options on per-estimator/detector basis, giving user fine grained control over cpu/gpu utilisation. More...
 
struct  Detection
 Detection structure. Stores a detected bounding box within a source image rect. More...
 
struct  Face
 
struct  Format
 Image format. More...
 
class  Noncopyable
 Helper class to block copy operator&constructor of its descendants. More...
 
class  Promise
 Promise class to support asynchronous data retrieval Look into std::promise semantics to understand it. More...
 
class  Future
 Future class to support asynchronous data retrieval Look into std::future semantics to understand it. More...
 
struct  ErrorTraits< FutureError >
 Specialized for Future::Error. More...
 
struct  ErrorTraits< PromiseError >
 Specialized for Promise::Error. More...
 
struct  Human
 
struct  Image
 Image. More...
 
struct  ErrorTraits< Image::Error >
 Specialized for Image::Error. More...
 
struct  Landmarks
 Face landmarks template structure. More...
 
struct  Landmarks5Indexes
 Enumerates detected landmarks. Only valid for template with 5 landmarks. More...
 
struct  MultiError
 An error structure designed for functions which can return errors from different enum classes. More...
 
struct  ErrorTraits< MultiError< E0, E1 > >
 Specialized for MultiError. More...
 
struct  BaseRect
 Rectangle. More...
 
struct  Ref
 Smart pointer for reference counted objects. More...
 
struct  RefBase
 Generic base class of a pointer for reference counted objects. More...
 
struct  ErrorTraits
 
struct  Result
 A structure that encapsulates an action result enumeration. More...
 
struct  ResultValue
 Addon for Result to output some value aside the result. Specialization for copiable types. More...
 
struct  ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value >::type >
 
struct  ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >
 Addon for Result to output some value aside the result. Specialization for non copiable types. More...
 
struct  Sizer
 Helper entity to measure size of dynamic objects in memory. More...
 
class  Span
 Span. Not owning data view. It incapsulated pointer to the continuous array with one or more T objects. More...
 
struct  SubImage
 Sub Image. More...
 
struct  Transformation
 Transformation data structure, used for warping. More...
 
struct  Vector2
 Generic 2D vector. More...
 
struct  Version
 

Typedefs

using FaceEngineType = IFaceEngineMobile
 
using FaceEnginePtrType = IFaceEngineMobilePtr
 
template<typename T >
using Optional = vlc::optional< T >
 
using ImageType = Image::Type
 Convenient type aliases for fsdk::Image enum classes.
 
using ImageError = Image::Error
 
using TargetDevice = Image::TargetDevice
 
using ImageCompression = Image::ImageCompression
 
typedef Vector2< float > Landmark
 Landmark floating point coordinates type.
 
using Landmarks5 = Landmarks< 5 >
 alias for structure with 5 landmarks
 
using Landmarks68 = Landmarks< 68 >
 alias for structure with 68 landmarks
 
using Rect = BaseRect< int >
 
using FloatRect = BaseRect< float >
 
typedef Vector2< float > Point2f
 
typedef Vector2< double > Point2d
 
typedef Vector2< int > Point2i
 
typedef Vector2< unsigned int > Point2u
 
typedef Vector2< unsigned short > Point2us
 
typedef Vector2< int > Size
 

Enumerations

enum  GlassesEstimation : uint8_t { GlassesEstimation::NoGlasses, GlassesEstimation::EyeGlasses, GlassesEstimation::SunGlasses, GlassesEstimation::EstimationError }
 Glasses estimation enum. More...
 
enum  MedicalMask { MedicalMask::Mask = 0, MedicalMask::NoMask, MedicalMask::OccludedFace }
 MedicalMask estimator output enum. This enum contains all possible estimation results. More...
 
enum  MedicalMaskExtended { MedicalMaskExtended::Mask = 0, MedicalMaskExtended::NoMask, MedicalMaskExtended::MaskNotInPlace, MedicalMaskExtended::OccludedFace }
 MedicalMask estimator output enum. This enum contains all possible extended estimation results. More...
 
enum  DetailedMaskType {
  DetailedMaskType::CorrectMask = 0, DetailedMaskType::MouthCoveredWithMask, DetailedMaskType::ClearFace, DetailedMaskType::ClearFaceWithMaskUnderChin,
  DetailedMaskType::PartlyCoveredFace, DetailedMaskType::FullMask, Count
}
 MedicalMask estimator output enum. This enum contains all type of DetailedMaskType results. More...
 
enum  NIRLivenessMode { Default, M1, M2 }
 NIRLiveness estimation mode. Currently, available values to select the estimation mode are: Default, M1 and M2. The scenario Default means the mode is specified in config file. More...
 
enum  FSDKError : uint32_t {
  FSDKError::Ok, FSDKError::Internal, FSDKError::InvalidInput, FSDKError::InvalidImage,
  FSDKError::InvalidRect, FSDKError::InvalidImageFormat, FSDKError::InvalidImageSize, FSDKError::InvalidDetection,
  FSDKError::InvalidLandmarks5, FSDKError::InvalidLandmarks68, FSDKError::InvalidTransformation, FSDKError::InvalidDescriptor,
  FSDKError::InvalidDescriptorBatch, FSDKError::InvalidSettingsProvider, FSDKError::InvalidDescriptorId, FSDKError::InvalidPath,
  FSDKError::InvalidSerializedObject, FSDKError::ModuleNotInitialized, FSDKError::ModuleNotReady, FSDKError::LicenseError,
  FSDKError::BufferIsNull, FSDKError::BufferIsFull, FSDKError::BufferIsEmpty, FSDKError::InvalidBufferSize,
  FSDKError::InvalidSpanSize, FSDKError::InvalidBatch, FSDKError::IncompatibleDescriptors, FSDKError::EnableJustInBetaMode,
  FSDKError::FiltredAggregationError, FSDKError::BatchedInternalError, UnsupportedFunctionality, HighMemoryUsage,
  FSDKError::IncompatibleModelVersions, FSDKError::ModelNotLoaded, FSDKError::InvalidConfig, FSDKError::LicenseIsNotActivated,
  FSDKError::FeatureNotAvailable, FSDKError::FeatureExpired, FSDKError::FingerprintError, FSDKError::ValidationFailed,
  FSDKError::CudaError, FSDKError::NotImplemented
}
 Common SDK error codes. More...
 
enum  DescriptorType { DT_FACE, DT_HUMAN }
 Descriptor type enum. Determines which type of descriptor to use. More...
 
enum  DescriptorVersion : uint32_t { DV_MIN_FACE_DESCRIPTOR_VERSION = 52, DV_MIN_HUMAN_DESCRIPTOR_VERSION = 102 }
 Minimum descriptor model version. Determines which minimum version of descriptor to use. More...
 
enum  HumanDescriptorVersion : uint32_t {
  HDV_TRACKER_HUMAN_DESCRIPTOR_VERSION = 102, HDV_PRECISE_HUMAN_DESCRIPTOR_VERSION = 103, HDV_REGULAR_HUMAN_DESCRIPTOR_VERSION = 104, HDV_TRACKER_V2 = 105,
  HDV_PRECISE_V2 = 106, HDV_REGULAR_V2 = 107, HDV_TRACKER_V3 = 108, HDV_PRECISE_V3 = 109,
  HDV_REGULAR_V3 = 110, HDV_PRECISE_V4 = 112, HDV_REGULAR_V4 = 113
}
 Human descriptor model versions. Determines which version of human descriptor to use. More...
 
enum  ObjectDetectorClassType {
  FACE_DET_DEFAULT = 0, FACE_DET_V1 = 4, FACE_DET_V2 = 5, FACE_DET_V3 = 6,
  FACE_DET_V3M = 7, FACE_DET_COUNT = 8
}
 Object detector type enumeration. More...
 
enum  DetectionComparerType {
  DCT_CONFIDENCE = 0, DCT_CENTER, DCT_CENTER_AND_CONFIDENCE, DCT_SIZE,
  DCT_COUNT
}
 Strategy of BestDetections comparer. More...
 
enum  DetectionType { DT_BBOX = 0, DT_LANDMARKS5 = 1 << 0, DT_LANDMARKS68 = 1 << 1, DT_ALL = 0xffff }
 Detection type enumeration. More...
 
enum  LicenseFeature : uint32_t {
  Detection = 1, BestShot = 2, Attributes = 3, Emotions = 4,
  FaceFeatures = 5, Liveness = 6, Descriptor = 7, DescriptorIndex = 8,
  LivenessEngine = 9, TrackEngine = 10, HumanDetection = 11, PPEDetection = 17,
  MobileLiveness = 18, MedicalMaskDetection = 19, ReIdDescriptor = 20, ISOCheck = 21,
  DeepFakeEstimation = 22, DepthRGBLiveness = 23, FightsEstimation = 24, BodyAttributes = 25,
  NIRLiveness = 26, DepthLiveness = 27, VirtualCameraChecker = 500
}
 License features.
 
enum  DeviceClass : int32_t {
  CPU = 0, GPU = 1, CPU_ARM = 2, CPU_AVX2,
  CPU_AUTO, GPU_INT8, CPU_ARM_INT8, GPU_MOBILE,
  NPU_ASCEND, Invalid = -1
}
 DeviceClass specifies which device/instruction set to use for cnn inference.
 
enum  FaceEngineEdition { FrontEndEdition, CompleteEdition }
 
enum  ExecutionPolicy : uint8_t { ExecutionPolicy::Sync, ExecutionPolicy::Async }
 Enum to tell some method how to behave. More...
 
enum  FuturePromiseState : uint8_t {
  FuturePromiseState::Empty, FuturePromiseState::Promised, FuturePromiseState::Fulfilled, FuturePromiseState::CancelRequested,
  FuturePromiseState::Canceled, FuturePromiseState::Failed, FuturePromiseState::Broken
}
 Enumeration of possible future or promise states. More...
 
enum  FutureError : uint8_t {
  FutureError::Ok, FutureError::InvalidInput, FutureError::NotPromised, FutureError::NotFulfilled,
  FutureError::NonWaitable, FutureError::Timeout, FutureError::Internal
}
 Enumeration of possible Future errors. More...
 
enum  PromiseError : uint8_t {
  PromiseError::Ok, PromiseError::Internal, PromiseError::StateNotCancelable, PromiseError::StateNotFailable,
  PromiseError::StateNotFulfillable, PromiseError::StateDoesntAllowFutureCreation
}
 Enumeration of possible Promise errors. More...
 
enum  OrientationType : uint32_t { OT_NORMAL = 0, OT_LEFT = 1, OT_UPSIDE_DOWN = 2, OT_RIGHT = 3 }
 Estimation of image orientation. More...
 
enum  RotationType : uint32_t { RT_NONE = 0, RT_LEFT = 1, RT_UPSIDE_DOWN = 2, RT_RIGHT = 3 }
 Image rotation type. More...
 
enum  SensorType { SensorType::Visible = 0, SensorType::NIR }
 Sensor type structure. Determines which type of camera sensor is used to perform face recognition. More...
 

Functions

IBestShotQualityEstimator::EstimationRequest operator| (IBestShotQualityEstimator::EstimationRequest first, IBestShotQualityEstimator::EstimationRequest second)
 
DetectionType operator| (DetectionType a, DetectionType b)
 
FSDK_API Result< FSDKErroractivateLicense (ILicense *license, const char *configPath) noexcept
 Makes License activation with some platform specific manner. Network connection is required. More...
 
FSDK_API Result< FSDKErroractivateLicense (ILicense *license, ISettingsProvider *settings) noexcept
 Makes License activation with some platform specific manner. Network connection is required. More...
 
FSDK_API ResultValue
< FSDKError,
IFaceEngineMobilePtr > 
createFaceEngineMobile (const char *dataPath=nullptr, const char *configPath=nullptr, const char *runtimePath=nullptr) noexcept
 Create the LUNA SDK root object. More...
 
FSDK_API ResultValue
< FSDKError,
ISettingsProviderPtr > 
createSettingsProvider (const char *path) noexcept
 Create a settings provider. More...
 
FSDK_API ResultValue
< FSDKError,
ISettingsProviderPtr > 
createSettingsProviderFromString (const char *content) noexcept
 Creates a settings provider from the xml-formatted string. More...
 
constexpr int format_as (Format::Type in)
 
Landmarks5 FSDK_API convert (const Landmarks68 &landmarks)
 convert landmarks68 into landmarks5 More...
 
template<typename E0 , typename E1 >
Result< MultiError< E0, E1 > > makeMultiResult (E0 error0, E1 error1)
 
template<typename Type >
BaseRect< Type > centerScale (const BaseRect< Type > &in, float scaleFactor) noexcept
 scale rect out of center More...
 
template<typename T >
Ref< T > make_ref (T *ptr) noexcept
 Make smart reference to a IRefCounted based object without acquiring ownership. More...
 
template<typename S , typename T >
Ref< S > make_ref_as (T *ptr) noexcept
 Make smart reference to a IRefCounted based object without acquiring ownership. More...
 
template<typename T >
Ref< T > acquire (T *ptr) noexcept
 Acquire ownership of IRefCounted based object. More...
 
template<typename S , typename T >
Ref< S > acquire_as (T *ptr) noexcept
 Acquire ownership of IRefCounted based object with a cast to a given type. More...
 
template<typename E >
Result< E > makeResult (E error) noexcept
 
template<typename R , typename V >
ResultValue< R, typename
std::remove_const< typename
std::remove_reference< V >
::type >::type > 
makeResultValue (R result, V &&value) noexcept
 Addon for Result to output some value aside the result. More...
 
bool operator< (Version lhs, Version rhs) noexcept
 Check if one version is less than another. More...
 
bool operator== (Version lhs, Version rhs) noexcept
 Check if versions are equal. More...
 
bool operator!= (Version lhs, Version rhs) noexcept
 Check if versions are not equal. More...
 
FSDK_API Version getVersion () noexcept
 Get FaceEngine version. More...
 
FSDK_API const char * getVersionHash () noexcept
 Get FaceEngine commit hash. More...
 
FSDK_API const char * getVersionString () noexcept
 Get FaceEngine version string. More...
 
FSDK_API const char * getBuildInfo () noexcept
 Get FaceEngine build description. The descripton contains used flags and compler settings. More...
 

Detailed Description

SDK namespace.

Typedef Documentation

typedef Vector2<double> fsdk::Point2d

Double precision floating point 2-dimensional point

typedef Vector2<float> fsdk::Point2f

Single precision floating point 2-dimensional point

typedef Vector2<int> fsdk::Point2i

Integer 2-dimensional point

typedef Vector2<unsigned int> fsdk::Point2u

Integer 2-dimensional point

typedef Vector2<unsigned short> fsdk::Point2us

Integer 2-dimensional point

typedef Vector2<int> fsdk::Size

2-dimensional size type

Enumeration Type Documentation

enum fsdk::ExecutionPolicy : uint8_t
strong

Enum to tell some method how to behave.

Enumerator
Sync 

Execute synchronously.

Async 

Execute asynchronously.

enum fsdk::FSDKError : uint32_t
strong

Common SDK error codes.

Enumerator
Ok 

Ok.

Internal 

Internal error.

InvalidInput 

Invalid input.

InvalidImage 

Invalid image.

InvalidRect 

Invalid rectangle.

InvalidImageFormat 

Invalid image format.

InvalidImageSize 

Invalid image size.

InvalidDetection 

Invalid detection.

InvalidLandmarks5 

Invalid landmarks 5.

InvalidLandmarks68 

Invalid landmarks 68.

InvalidTransformation 

Invalid transformation.

InvalidDescriptor 

Invalid descriptor.

InvalidDescriptorBatch 

Invalid descriptor batch.

InvalidSettingsProvider 

Invalid settings provider.

InvalidDescriptorId 

Invalid descriptor id.

InvalidPath 

Invalid path to object.

InvalidSerializedObject 

Invalid serialized object.

ModuleNotInitialized 

Module is not initialized.

ModuleNotReady 

Module is not ready.

LicenseError 

Licensing issue (expired license or unavailable feature).

BufferIsNull 

Buffer is null.

BufferIsFull 

Buffer is full.

BufferIsEmpty 

Buffer is empty.

InvalidBufferSize 

Invalid buffer size.

InvalidSpanSize 

Invalid span size.

InvalidBatch 

Invalid batch.

IncompatibleDescriptors 

Matching attempt with incompatible descriptors.

EnableJustInBetaMode 

Attempt to create feature while betaMode is turned off.

FiltredAggregationError 

Cant aggregate descriptors - all images'a GSs are less the threashold.

BatchedInternalError 

image for details.

Something gone wrong in batched query. See batch with error codes to each input

IncompatibleModelVersions 

Incompatible model versions.

ModelNotLoaded 

Model not loaded.

InvalidConfig 

Invalid config.

LicenseIsNotActivated 

License is not activated.

FeatureNotAvailable 

Requested Feature not available.

FeatureExpired 

Feature expired.

FingerprintError 

Failed to get device fingerprint.

ValidationFailed 

Failed validation.

CudaError 

CUDA Error.

NotImplemented 

Not implemented error.

enum fsdk::FutureError : uint8_t
strong

Enumeration of possible Future errors.

Enumerator
Ok 

All good.

InvalidInput 

Invalid data is given as input to some method.

NotPromised 

Error if you call.

See Also
Future::cancel on not Promised state.
NotFulfilled 

Error if you call.

See Also
Future::takeInto on not Fulfilled state.
NonWaitable 

Error if you try to.

See Also
Future::wait on non waitable state.
Timeout 

Error if your.

See Also
Future::waitFor method ran out of time.
Internal 

Some internal error.

enum fsdk::FuturePromiseState : uint8_t
strong

Enumeration of possible future or promise states.

Enumerator
Empty 

Lack of internal state: on promise creation and emptying Future.

See Also
Future::takeInto.
Promised 

State right after future is created from promise.

Fulfilled 

State possible after Promised if promise' method.

See Also
Promise::fulfill is called.
CancelRequested 

State possible if.

See Also
Future::cancel is called on Promised state.
Canceled 

State possible if during CancelRequested.

See Also
Promise::cancel is called.
Failed 

State possible if during Promised.

See Also
Promise::fail is called.
Broken 

State indicating some internal error.

enum fsdk::OrientationType : uint32_t

Estimation of image orientation.

Enumerator
OT_NORMAL 

Normal orientation of image.

OT_LEFT 

Image is turned left by 90 deg.

OT_UPSIDE_DOWN 

Image is flipped upsidedown (turned by 180 deg)

OT_RIGHT 

Image is turned right by 90 deg.

enum fsdk::PromiseError : uint8_t
strong

Enumeration of possible Promise errors.

Enumerator
Ok 

All good.

Internal 

Internal error.

StateNotCancelable 

Error if you call.

See Also
Promise::cancel on not CancelRequested state.
StateNotFailable 

Error if you call.

See Also
Promise::fail on not Promised and not CancelRequested state.
StateNotFulfillable 

Error if you call.

See Also
Promise::fulfill on not Promised state.
StateDoesntAllowFutureCreation 

Error if you call.

See Also
Promise::future on not Empty state.
enum fsdk::RotationType : uint32_t

Image rotation type.

Enumerator
RT_NONE 

Leave image as it is.

RT_LEFT 

Turn image to the left by 90 deg.

RT_UPSIDE_DOWN 

Flip image upside down (turn by 180 deg)

RT_RIGHT 

Turn image to the right by 90 deg.

enum fsdk::SensorType
strong

Sensor type structure. Determines which type of camera sensor is used to perform face recognition.

Enumerator
Visible 

Visible sensor type.

NIR 

NIR sensor type.

Function Documentation

template<typename T >
Ref<T> fsdk::acquire ( T *  ptr)
inlinenoexcept

Acquire ownership of IRefCounted based object.

Template Parameters
Tobject interface (must be derived from IRefCounted).
Parameters
[in]ptrraw pointer.
template<typename S , typename T >
Ref<S> fsdk::acquire_as ( T *  ptr)
inlinenoexcept

Acquire ownership of IRefCounted based object with a cast to a given type.

Template Parameters
Starget interface (must be relative to T).
Tsource interface (must be derived from IRefCounted).
Parameters
[in]ptrraw pointer.
template<typename Type >
BaseRect<Type> fsdk::centerScale ( const BaseRect< Type > &  in,
float  scaleFactor 
)
noexcept

scale rect out of center

Parameters
[in]inputrect
[in]scaleFactorto scale rect
Returns
scaled rect
Landmarks5 FSDK_API fsdk::convert ( const Landmarks68 &  landmarks)

convert landmarks68 into landmarks5

Parameters
landmarkslandmarks68
Returns
landmarks5
template<typename T >
Ref<T> fsdk::make_ref ( T *  ptr)
inlinenoexcept

Make smart reference to a IRefCounted based object without acquiring ownership.

Template Parameters
Tobject interface (must be derived from IRefCounted).
Parameters
[in]ptrraw pointer.
template<typename S , typename T >
Ref<S> fsdk::make_ref_as ( T *  ptr)
inlinenoexcept

Make smart reference to a IRefCounted based object without acquiring ownership.

Template Parameters
Starget interface (must be relative to T).
Tobject interface (must be derived from IRefCounted).
Parameters
[in]ptrraw pointer.
template<typename R , typename V >
ResultValue<R, typename std::remove_const<typename std::remove_reference<V>::type>::type> fsdk::makeResultValue ( result,
V &&  value 
)
inlinenoexcept

Addon for Result to output some value aside the result.

Template Parameters
Rresult enumeration type.
Vresult value type.
Note
All rules for Result template parameter apply to R.
V instance is always held by value despite -> operators.
Parameters
resultthe result.
valuethe value.
Returns
result value struct.