ResultOk< T > Class Template Reference

#include <resultbase.h>

Detailed Description

template<typename T>
class maxon::ResultOk< T >

Use ResultOk<T> instead of Result<T> as return type of a function which cannot fail, but whose return value will be checked for errors nevertheless. For example, this can happen if the function is overloaded and the other overload may return an error. Now if within a template function the overload in a call is chosen depending on the template arguments, the result has to be checked for an error, so also the function which cannot fail has to return a value which is understood by the error handling.

Public Member Functions

 ResultOk ()
 
MAXON_IMPLICIT ResultOk (const T &value)
 
MAXON_IMPLICIT ResultOk (T &&value)
 
const T & GetValue () const &
 
const T & UncheckedGetValue () const &
 
 MAXON_MEMBER_ACCESSORS (T, GetValue)
 
 MAXON_MEMBER_ACCESSORS (T, UncheckedGetValue)
 
Bool operator== (ERROR_OK ok) const
 
Bool operator== (ERROR_FAILED failed) const
 

Protected Attributes

_value
 

Private Member Functions

const ThreadReferencedErrorGetErrorStorage () const
 

Constructor & Destructor Documentation

◆ ResultOk() [1/3]

ResultOk ( )

Constructs a new ResultOk with a default-constructed value.

◆ ResultOk() [2/3]

MAXON_IMPLICIT ResultOk ( const T &  value)

Constructs a new ResultOk with the given value.

Parameters
[in]valueThe value to use for the ResultOk.

◆ ResultOk() [3/3]

MAXON_IMPLICIT ResultOk ( T &&  value)

Constructs a new ResultOk with the given value.

Parameters
[in]valueThe value to use for the ResultOk.

Member Function Documentation

◆ GetValue()

const T& GetValue ( ) const &

Returns the result value.

Returns
Result value.

◆ UncheckedGetValue()

const T& UncheckedGetValue ( ) const &

Returns the result value.

Returns
Result value.

◆ MAXON_MEMBER_ACCESSORS() [1/2]

MAXON_MEMBER_ACCESSORS ( ,
GetValue   
)

◆ MAXON_MEMBER_ACCESSORS() [2/2]

MAXON_MEMBER_ACCESSORS ( ,
UncheckedGetValue   
)

◆ operator==() [1/2]

Bool operator== ( ERROR_OK  ok) const

Returns always true because a ResultOk never contains an error.

Parameters
[in]okUse the global constant OK.
Returns
Always true.

◆ operator==() [2/2]

Bool operator== ( ERROR_FAILED  failed) const

Returns always false because a ResultOk never contains an error.

Parameters
[in]failedUse the global constant FAILED.
Returns
Always false.

◆ GetErrorStorage()

const ThreadReferencedError& GetErrorStorage ( ) const
private

Member Data Documentation

◆ _value

T _value
protected