Loading...
Searching...
No Matches
caf::expected< T > Class Template Reference

Represents the result of a computation which can either complete successfully with an instance of type T or fail with an error. More...

`#include <expected.hpp>`

## Public Types

using | value_type = T

## Public Member Functions

template<class U>
| expected (U x, typename std::enable_if< std::is_convertible< U, T >::value >::type *=nullptr)
| expected (T &&x) noexcept(nothrow_move)
| expected (const T &x) noexcept(nothrow_copy)
| expected (caf::error e) noexcept
| expected (no_error_t) noexcept
| expected (const expected &other) noexcept(nothrow_copy)
template<class Code, class = enable_if_can_construct_error_t<Code>>
| expected (Code code)
| expected (expected &&other) noexcept(nothrow_move)
expected & | operator= (const expected &other) noexcept(nothrow_copy)
expected & | operator= (expected &&other) noexcept(nothrow_move)
expected & | operator= (const T &x) noexcept(nothrow_copy)
expected & | operator= (T &&x) noexcept(nothrow_move)
template<class U>
std::enable_if< std::is_convertible< U, T >::value, expected & >::type | operator= (U x)
expected & | operator= (caf::error e) noexcept
template<class Code>
enable_if_can_construct_error_t< Code, expected & > | operator= (Code code)
T & | value () noexcept
| Returns the contained value.
T & | operator* () noexcept
| Returns the contained value.
T * | operator-> () noexcept
| Returns the contained value.
caf::error & | error () noexcept
| Returns the contained error.
const T & | cvalue () const noexcept
| Returns the contained value.
const T & | value () const noexcept
| Returns the contained value.
const T & | operator* () const noexcept
| Returns the contained value.
const T * | operator-> () const noexcept
| Returns the contained value.
| operator bool () const noexcept
| Returns true if the object holds a value (is engaged).
bool | engaged () const noexcept
| Returns true if the object holds a value (is engaged).
const caf::error & | cerror () const noexcept
| Returns the contained error.
const caf::error & | error () const noexcept
| Returns the contained error.

## Static Public Attributes

static constexpr bool | nothrow_move
| Stores whether move construct and move assign never throw.
static constexpr bool | nothrow_copy
| Stores whether copy construct and copy assign never throw.

## Related Symbols

(Note that these are not member symbols.)
constexpr no_error_t | no_error = no_error_t{}
| The only instance of ::no_error_t.
template<class T>
auto | operator== (const expected< T > &x, const expected< T > &y) -> decltype(*x==*y)
template<class T, class U>
auto | operator== (const expected< T > &x, const U &y) -> decltype(*x==y)
template<class T, class U>
auto | operator== (const T &x, const expected< U > &y) -> decltype(x==*y)
template<class T>
bool | operator== (const expected< T > &x, const error &y)
template<class T>
bool | operator== (const error &x, const expected< T > &y)
template<class T, class E>
enable_if_has_make_error_t< E, bool > | operator== (const expected< T > &x, E y)
template<class T, class E>
enable_if_has_make_error_t< E, bool > | operator== (E x, const expected< T > &y)
template<class T>
auto | operator!= (const expected< T > &x, const expected< T > &y) -> decltype(*x==*y)
template<class T, class U>
auto | operator!= (const expected< T > &x, const U &y) -> decltype(*x==y)
template<class T, class U>
auto | operator!= (const T &x, const expected< U > &y) -> decltype(x==*y)
template<class T>
bool | operator!= (const expected< T > &x, const error &y)
template<class T>
bool | operator!= (const error &x, const expected< T > &y)
template<class T, class E>
enable_if_has_make_error_t< E, bool > | operator!= (const expected< T > &x, E y)
template<class T, class E>
enable_if_has_make_error_t< E, bool > | operator!= (E x, const expected< T > &y)
bool | operator== (const expected< void > &x, const expected< void > &y)
bool | operator!= (const expected< void > &x, const expected< void > &y)

## Detailed Description

template<typename T>
class caf::expected< T >

Represents the result of a computation which can either complete successfully with an instance of type T or fail with an error.

Template Parameters

  T | The type of the result.

## Member Function Documentation

## cerror()

template<typename T>

const caf::error & caf::expected< T >::cerror | ( |  | ) | const

noexcept

Returns the contained error.

Precondition
  engaged() == false.

## cvalue()

template<typename T>

const T & caf::expected< T >::cvalue | ( |  | ) | const

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## error() [1/2]

template<typename T>

const caf::error & caf::expected< T >::error | ( |  | ) | const

noexcept

Returns the contained error.

Precondition
  engaged() == false.

## error() [2/2]

template<typename T>

caf::error & caf::expected< T >::error | ( |  | ) |

noexcept

Returns the contained error.

Precondition
  engaged() == false.

## operator bool()

template<typename T>

caf::expected< T >::operator bool | ( |  | ) | const

explicit noexcept

Returns true if the object holds a value (is engaged).

## operator*() [1/2]

template<typename T>

const T & caf::expected< T >::operator* | ( |  | ) | const

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## operator*() [2/2]

template<typename T>

T & caf::expected< T >::operator* | ( |  | ) |

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## operator->() [1/2]

template<typename T>

const T * caf::expected< T >::operator-> | ( |  | ) | const

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## operator->() [2/2]

template<typename T>

T * caf::expected< T >::operator-> | ( |  | ) |

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## value() [1/2]

template<typename T>

const T & caf::expected< T >::value | ( |  | ) | const

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## value() [2/2]

template<typename T>

T & caf::expected< T >::value | ( |  | ) |

noexcept

Returns the contained value.

Precondition
  engaged() == true.

## Member Data Documentation

## nothrow_copy

template<typename T>

bool caf::expected< T >::nothrow_copy

static constexpr

Initial value:
= std::is_nothrow_copy_constructible<T>::value
&& std::is_nothrow_copy_assignable<T>::value

Stores whether copy construct and copy assign never throw.

## nothrow_move

template<typename T>

bool caf::expected< T >::nothrow_move

static constexpr

Initial value:
= std::is_nothrow_move_constructible<T>::value
&& std::is_nothrow_move_assignable<T>::value

Stores whether move construct and move assign never throw.

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

- /build/actor-framework-Z9pIPl/actor-framework-0.17.6/libcaf_core/caf/expected.hpp