libzypp: zyppng::expected< T, E > Class Template Reference

libzypp 17.38.14

zyppng::expected< T, E > Class Template Reference

`#include <zypp-core/ng/pipelines/expected.h>`

## Public Types
using | value_type = T
using | error_type = E

## Public Member Functions
| ~expected ()
| expected (const T &v)
| expected (T &&v)
| expected (const unexpected< E > &err) noexcept
| expected (unexpected< E > &&err) noexcept
| expected (const expected &other)
| expected (expected &&other) noexcept
template<class G = E>
expected & | operator= (unexpected< G > other)
expected & | operator= (expected other)
template<class U = std::remove_cv_t<T>>
expected & | operator= (U &&v)
void | swap (expected &other) noexcept
| operator bool () const
bool | is_valid () const
T & | get ()
const T & | get () const
T & | unwrap ()
const T & | unwrap () const
T & | operator* ()
const T & | operator* () const
T * | operator-> ()
const T * | operator-> () const
E & | error ()
const E & | error () const
template<typename F>
void | visit (F f)

## Static Public Member Functions
template<typename... ConsParams>
static expected | success (ConsParams &&...params)
template<typename... ConsParams>
static expected | error (ConsParams &&...params)

## Protected Member Functions
| expected ()

## Protected Attributes
union zyppng::expected:: { ... } |
bool | m_isValid

## Detailed Description

template<typename T, typename E = std::exception_ptr>
class zyppng::expected< T, E >

Definition at line 56 of file expected.h.

## Member Typedef Documentation

## ◆ value_type

template<typename T, typename E = std::exception_ptr>

using zyppng::expected< T, E >::value_type = T

Definition at line 71 of file expected.h.

## ◆ error_type

template<typename T, typename E = std::exception_ptr>

using zyppng::expected< T, E >::error_type = E

Definition at line 72 of file expected.h.

## Constructor & Destructor Documentation

## ◆ expected() [1/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( |  | ) |
| inlineprotected

Definition at line 65 of file expected.h.

## ◆ ~expected()

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::~expected | ( |  | ) |
| inline

Definition at line 74 of file expected.h.

## ◆ expected() [2/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( | const T & | v | ) |
| inline

Definition at line 83 of file expected.h.

## ◆ expected() [3/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( | T && | v | ) |
| inline

Definition at line 88 of file expected.h.

## ◆ expected() [4/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( | const unexpected< E > & | err | ) |
| inlinenoexcept

Definition at line 93 of file expected.h.

## ◆ expected() [5/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( | unexpected< E > && | err | ) |
| inlinenoexcept

Definition at line 98 of file expected.h.

## ◆ expected() [6/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( | const expected< T, E > & | other | ) |
| inline

Definition at line 103 of file expected.h.

## ◆ expected() [7/7]

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::expected | ( | expected< T, E > && | other | ) |
| inlinenoexcept

Definition at line 113 of file expected.h.

## Member Function Documentation

## ◆ operator=() [1/3]

template<typename T, typename E = std::exception_ptr>
template<class G = E>

expected & zyppng::expected< T, E >::operator= | ( | unexpected< G > | other | ) |
| inline

Definition at line 124 of file expected.h.

## ◆ operator=() [2/3]

template<typename T, typename E = std::exception_ptr>

expected & zyppng::expected< T, E >::operator= | ( | expected< T, E > | other | ) |
| inline

Definition at line 130 of file expected.h.

## ◆ operator=() [3/3]

template<typename T, typename E = std::exception_ptr>
template<class U = std::remove_cv_t<T>>

expected & zyppng::expected< T, E >::operator= | ( | U && | v | ) |
| inline

Definition at line 137 of file expected.h.

## ◆ swap()

template<typename T, typename E = std::exception_ptr>

void zyppng::expected< T, E >::swap | ( | expected< T, E > & | other | ) |
| inlinenoexcept

Definition at line 143 of file expected.h.

## ◆ success()

template<typename T, typename E = std::exception_ptr>
template<typename... ConsParams>

expected zyppng::expected< T, E >::success | ( | ConsParams &&... | params | ) |
| inlinestatic

Definition at line 178 of file expected.h.

## ◆ error() [1/3]

template<typename T, typename E = std::exception_ptr>
template<typename... ConsParams>

expected zyppng::expected< T, E >::error | ( | ConsParams &&... | params | ) |
| inlinestatic

Definition at line 189 of file expected.h.

## ◆ operator bool()

template<typename T, typename E = std::exception_ptr>

zyppng::expected< T, E >::operator bool | ( |  | ) | const
| inline

Definition at line 199 of file expected.h.

## ◆ is_valid()

template<typename T, typename E = std::exception_ptr>

bool zyppng::expected< T, E >::is_valid | ( |  | ) | const
| inline

Definition at line 204 of file expected.h.

## ◆ get() [1/2]

template<typename T, typename E = std::exception_ptr>

T & zyppng::expected< T, E >::get | ( |  | ) |
| inline

Definition at line 215 of file expected.h.

## ◆ get() [2/2]

template<typename T, typename E = std::exception_ptr>

const T & zyppng::expected< T, E >::get | ( |  | ) | const
| inline

Definition at line 221 of file expected.h.

## ◆ unwrap() [1/2]

template<typename T, typename E = std::exception_ptr>

T & zyppng::expected< T, E >::unwrap | ( |  | ) |
| inline

Unwraps the value if the expected is valid, otherwise throws an exception. If the Error type is std::exception_ptr the exception will be rethrown, otherwise the Error object is directly thrown as if calling:

expected<int,MyError> test = functionReturningError();
throw test.error();
zyppng::expected::expected
expected()
Definition expected.h:65
zyppng::expected::error
static expected error(ConsParams &&...params)
Definition expected.h:189

Definition at line 236 of file expected.h.

## ◆ unwrap() [2/2]

template<typename T, typename E = std::exception_ptr>

const T & zyppng::expected< T, E >::unwrap | ( |  | ) | const
| inline

Definition at line 252 of file expected.h.

## ◆ operator*() [1/2]

template<typename T, typename E = std::exception_ptr>

T & zyppng::expected< T, E >::operator* | ( |  | ) |
| inline

Definition at line 268 of file expected.h.

## ◆ operator*() [2/2]

template<typename T, typename E = std::exception_ptr>

const T & zyppng::expected< T, E >::operator* | ( |  | ) | const
| inline

Definition at line 273 of file expected.h.

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

template<typename T, typename E = std::exception_ptr>

T * zyppng::expected< T, E >::operator-> | ( |  | ) |
| inline

Definition at line 278 of file expected.h.

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

template<typename T, typename E = std::exception_ptr>

const T * zyppng::expected< T, E >::operator-> | ( |  | ) | const
| inline

Definition at line 283 of file expected.h.

## ◆ error() [2/3]

template<typename T, typename E = std::exception_ptr>

E & zyppng::expected< T, E >::error | ( |  | ) |
| inline

Definition at line 288 of file expected.h.

## ◆ error() [3/3]

template<typename T, typename E = std::exception_ptr>

const E & zyppng::expected< T, E >::error | ( |  | ) | const
| inline

Definition at line 294 of file expected.h.

## ◆ visit()

template<typename T, typename E = std::exception_ptr>
template<typename F>

void zyppng::expected< T, E >::visit | ( | F | f | ) |
| inline

Definition at line 303 of file expected.h.

## Member Data Documentation

## ◆ @224114341055244104253157064021265364322174344143

union { ... } zyppng::expected< T, E >

## ◆ m_isValid

template<typename T, typename E = std::exception_ptr>

bool zyppng::expected< T, E >::m_isValid
| protected

Definition at line 63 of file expected.h.

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

- zypp-core/ng/pipelines/expected.h