explicit basic_outcome(ValueOrError<T, E> &&) - Boost.Outcome documentation

# `explicit basic_outcome(ValueOrError<T, E> &&)`

Explicit converting constructor from `ValueOrError<T, E>` concept matching types. Delegates to the `basic_result` move constructor `explicit basic_outcome(basic_result<A, B, C> &&)` .

Requires: `convert::``value_or_error<T, U>` has an available call operator, and if the input is a `basic_result` or `basic_outcome`, then `convert::value_or_error<>` has enabled those inputs for that `convert::value_or_error<>` specialisation.

Complexity: Same as for the copy or move constructor from the input’s `.value()` or `.error()` respectively. Constexpr, triviality and noexcept of underlying operations is propagated.

Guarantees: If an exception is thrown during the operation, the object is left in a partially completed state, as per the normal rules for the same operation on a `struct`.

Last revised: March 03, 2019 at 00:11:47 UTC