explicit basic_outcome(concepts::value_or_error<T, E> &&)

Explicit converting constructor from concepts::value_or_error<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.