Inplace Constructors
`basic_outcome(A1 &&, A2 &&, Args ...)`
Implicit inplace value or error or exception constructor. Delegates to an appropriate explicit inplace constructor depending on input. Requires: predicate::enable_inplace_value_error_exception_constructor` is true. Complexity: Same as for the value_type or error_type or exception_type constructor which accepts A1, A2, Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`basic_result(A1 &&, A2 &&, Args ...)`
Implicit inplace value or error constructor. Delegates to an appropriate explicit inplace constructor depending on input. Requires: predicate::enable_inplace_value_error_constructor` is true. Complexity: Same as for the value_type or error_type constructor which accepts A1, A2, Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_outcome(in_place_type_t<error_type_if_enabled>, Args ...)`
Explicit inplace error constructor. Calls void on_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<error_type> and Args .... Requires: predicate::enable_inplace_error_constructor<Args ...> is true. Complexity: Same as for the error_type constructor which accepts Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_outcome(in_place_type_t<error_type_if_enabled>, std::initializer_list<U>, Args ...)`
Explicit inplace error constructor. Calls void on_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<error_type>, std::initializer_list<U> and Args .... Requires: predicate::enable_inplace_error_constructor<std::initializer_list<U>, Args ...> is true. Complexity: Same as for the error_type constructor which accepts std::initializer_list<U>, Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_outcome(in_place_type_t<exception_type_if_enabled>, Args ...)`
Explicit inplace exception constructor. Calls void on_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<exception_type> and Args .... Requires: predicate::enable_inplace_exception_constructor<Args ...> is true. Complexity: Same as for the exception_type constructor which accepts Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_outcome(in_place_type_t<exception_type_if_enabled>, std::initializer_list<U>, Args ...)`
Explicit inplace exception constructor. Calls void on_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<exception_type>, std::initializer_list<U> and Args .... Requires: predicate::enable_inplace_exception_constructor<std::initializer_list<U>, Args ...> is true. Complexity: Same as for the exception_type constructor which accepts std::initializer_list<U>, Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_outcome(in_place_type_t<value_type_if_enabled>, Args ...)`
Explicit inplace value constructor. Calls void on_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<value_type> and Args .... Requires: predicate::enable_inplace_value_constructor<Args ...> is true. Complexity: Same as for the value_type constructor which accepts Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_outcome(in_place_type_t<value_type_if_enabled>, std::initializer_list<U>, Args ...)`
Explicit inplace value constructor. Calls void on_outcome_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<value_type>, ‘std::initializer_list’ and Args .... Requires: predicate::enable_inplace_value_constructor<std::initializer_list<U>, Args ...> is true. Complexity: Same as for the value_type constructor which accepts std::initializer_list<U>, Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_result(in_place_type_t<error_type_if_enabled>, Args ...)`
Explicit inplace error constructor. Calls void on_result_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<error_type> and Args .... Requires: predicate::enable_inplace_error_constructor<Args ...> is true. Complexity: Same as for the error_type constructor which accepts Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »
`explicit basic_result(in_place_type_t<error_type_if_enabled>, std::initializer_list<U>, Args ...)`
Explicit inplace error constructor. Calls void on_result_in_place_construction(T *, in_place_type_t<U>, Args &&...) noexcept with this, in_place_type<error_type>, std::initializer_list<U> and Args .... Requires: predicate::enable_inplace_error_constructor<std::initializer_list<U>, Args ...> is true. Complexity: Same as for the error_type constructor which accepts std::initializer_list<U>, Args .... Constexpr, triviality and noexcept of underlying operations is propagated. Guarantees: If an exception is thrown during the operation, the state of the Args is left indeterminate. »