Addon for Result to output some value aside the result. Specialization for non copiable types.
More...
#include <ResultValue.h>
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
-
R | result enumeration type. |
V | result value type. |
- Note
- All rules for Result template parameter aplly to R.
-
V instance is always held by value despite -> operators.
◆ ResultValue() [1/2]
template<typename R , typename V >
Initializes result.
- Parameters
-
◆ ResultValue() [2/2]
template<typename R , typename V >
fsdk::ResultValue< R, V, typename std::enable_if< std::is_copy_constructible< V >::value==false >::type >::ResultValue |
( |
R |
result, |
|
|
V && |
value |
|
) |
| |
|
inlinenoexcept |
Initializes result.
- Parameters
-
[in] | result | result to set. |
[in] | value | value to set. |
◆ getValue()
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.
◆ operator->()
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.
◆ takeValue()
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: