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::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type > Struct Template Reference

Addon for Result to output some value aside the result. Specialization for non copiable types. More...

#include <ResultValue.h>

Inheritance diagram for fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >:
fsdk::Result< R >

Public Types

typedef R EnumType
 Result enumeration type.
 
typedef V ValueType
 Result value type.
 
- Public Types inherited from fsdk::Result< R >
using ErrorType = R
 Result value enumeration type.
 
using Traits = ErrorTraits< R >
 

Public Member Functions

 ResultValue (R result) noexcept
 Initializes result. More...
 
 ResultValue (R result, V &&value) noexcept
 Initializes result. More...
 
const V & getValue () const noexcept
 Gets result value. More...
 
V && takeValue () noexcept
 Gets result value as rvalue. More...
 
const V * operator-> () const noexcept
 Gets result value. More...
 
- Public Member Functions inherited from fsdk::Result< R >
 Result (Rerror) noexcept
 Initializes result. More...
 
 Result () noexcept
 Initializes result by default.
 
getError () const noexcept
 Gets actual result value. More...
 
bool isError () const noexcept
 Checks for an error. More...
 
bool isOk () const noexcept
 Checks for a success. More...
 
 operator bool () const noexcept
 Checks for a success. More...
 
 operator int () const noexcept=delete
 Values of type bool participate in integral promotions. A prvalue of type bool can be converted to a prvalue of type int, with false becoming zero and true becoming one. This overload prevents the bool() operator above from participating in dangerous implicit conversion chains such as bool->int, bool->int->float, bool->int->double.
 
const char * what () const noexcept
 Gets a textual description of the result. More...
 

Protected Attributes

m_value
 Actual value.
 

Detailed Description

template<typename R, typename V>
struct fsdk::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.

Template Parameters
Rresult enumeration type.
Vresult value type.
Note
All rules for Result template parameter aplly to R.
V instance is always held by value despite -> operators.

Constructor & Destructor Documentation

template<typename R , typename V >
fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >::ResultValue ( result)
inlinenoexcept

Initializes result.

Parameters
[in]resultvalue to set.
template<typename R , typename V >
fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >::ResultValue ( result,
V &&  value 
)
inlinenoexcept

Initializes result.

Parameters
[in]resultresult to set.
[in]valuevalue to set.

Member Function Documentation

template<typename R , typename V >
const V& fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >::getValue ( ) const
inlinenoexcept

Gets result value.

Note
Result validated in runtime.
Returns
Value.
template<typename R , typename V >
const V* fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >::operator-> ( ) const
inlinenoexcept

Gets result value.

Note
Result validated in runtime.
Returns
Value.
template<typename R , typename V >
V&& fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >::takeValue ( )
inlinenoexcept

Gets result value as rvalue.

Note
Result validated in runtime.
Don't call more than once
Returns
Value.

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