Constructors
`basic_result(const failure_type<T> &)`
Implicit error-from-failure-type-sugar copy constructor used to disambiguate the construction of the error type. Note that if T = void, error_type will be default constructed. Calls void on_result_copy_construction(T *, U &&) noexcept with this and const failure_type<T> &. Requires: predicate::enable_compatible_conversion<void, T, void> is true, or T is void. Complexity: Same as for the error_type constructor which accepts T, or the error_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(const failure_type<T> &)`
Implicit error-from-failure-type-sugar copy constructor used to disambiguate the construction of the error type. Note that if T = void, error_type will be default constructed. Calls void on_result_copy_construction(T *, U &&) noexcept with this and const failure_type<T> &. Requires: predicate::enable_make_error_code_compatible_conversion<void, T, void> is true, or T is void. Complexity: Same as for the error_type constructor which accepts T, or the error_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(const failure_type<T> &)`
Implicit error-from-failure-type-sugar copy constructor used to disambiguate the construction of the error type. Note that if T = void, error_type will be default constructed. Calls void on_result_copy_construction(T *, U &&) noexcept with this and const failure_type<T> &. Requires: predicate::enable_make_exception_ptr_compatible_conversion<void, T, void> is true, or T is void. Complexity: Same as for the error_type constructor which accepts T, or the error_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(const success_type<T> &)`
Implicit value-from-success-type-sugar copy constructor used to disambiguate the construction of the value type. Note that if T = void, value_type will be default constructed. Calls void on_result_copy_construction(T *, U &&) noexcept with this and const success_type<T> &. Requires: predicate::enable_compatible_conversion<T, void, void> is true, or T is void. Complexity: Same as for the value_type constructor which accepts T, or the value_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(failure_type<T> &&)`
Implicit error-from-failure-type-sugar move constructor used to disambiguate the construction of the error type. Note that if T = void, error_type will be default constructed. Calls void on_result_move_construction(T *, U &&) noexcept with this and failure_type<T> &&. Requires: predicate::enable_compatible_conversion<void, T, void> is true, or T is void. Complexity: Same as for the error_type constructor which accepts T, or the error_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(failure_type<T> &&)`
Implicit error-from-failure-type-sugar move constructor used to disambiguate the construction of the error type. Note that if T = void, error_type will be default constructed. Calls void on_result_move_construction(T *, U &&) noexcept with this and failure_type<T> &&. Requires: predicate::enable_make_error_code_compatible_conversion<void, T, void> is true, or T is void. Complexity: Same as for the error_type constructor which accepts T, or the error_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(failure_type<T> &&)`
Implicit error-from-failure-type-sugar move constructor used to disambiguate the construction of the error type. Note that if T = void, error_type will be default constructed. Calls void on_result_move_construction(T *, U &&) noexcept with this and failure_type<T> &&. Requires: predicate::enable_make_exception_ptr_compatible_conversion<void, T, void> is true, or T is void. Complexity: Same as for the error_type constructor which accepts T, or the error_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`basic_result(success_type<T> &&)`
Implicit value-from-success-type-sugar move constructor used to disambiguate the construction of the value type. Note that if T = void, value_type will be default constructed. Calls void on_result_move_construction(T *, U &&) noexcept with this and success_type<T> &&. Requires: predicate::enable_compatible_conversion<T, void, void> is true, or T is void. Complexity: Same as for the value_type constructor which accepts T, or the value_type default constructor if T is void. Constexpr, triviality and noexcept of underlying operations is propagated. »
`explicit basic_outcome(basic_outcome<A, B, C, D> &&)`
Explicit converting move constructor from compatible basic_outcome. Calls void on_outcome_move_construction(T *, U &&) noexcept with this and the input. Requires: predicate::enable_compatible_conversion<A, B, C, D> is true. Complexity: Same as for the move constructors of the underlying types. 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. »
`explicit basic_outcome(basic_result<A, B, C> &&)`
Explicit converting move constructor from compatible basic_result. Calls void on_outcome_move_construction(T *, U &&) noexcept with this and the input. Requires: predicate::enable_compatible_conversion<A, B, void, C> is true. Complexity: Same as for the move constructors of the underlying types. 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. »