Navigation :
Prerequisites
Build and install
Review of Error Handling Frameworks
Motivation
Future ABI stability guarantees
Tutorial
Recipes
Experimental
API reference
-
Macros
-
Concepts
-
Converters
-
Traits
-
Policies
-
Types
--
`basic_outcome<T, EC, EP, NoValuePolicy>`
--- `basic_outcome() = delete`
--- `basic_outcome(basic_outcome &&)`
--- `basic_outcome(const basic_outcome &)`
--- `basic_outcome &operator=(basic_outcome &&)`
--- `basic_outcome &operator=(const basic_outcome &)`
--- `~basic_outcome()`
--- `basic_outcome(Args...) = delete`
--- `basic_outcome(X &&) = delete`
--- `basic_outcome(R &&)`
--- `basic_outcome(S &&)`
--- `basic_outcome(ErrorCondEnum &&)`
--- `basic_outcome(P &&)`
--- `basic_outcome(S &&, P &&)`
--- `explicit basic_outcome(concepts::value_or_error<T, E> &&)`
--- `explicit basic_outcome(const basic_outcome<A, B, C, D> &)`
--- `explicit basic_outcome(basic_outcome<A, B, C, D> &&)`
--- `explicit basic_outcome(const basic_result<A, B, C> &)`
--- `explicit basic_outcome(basic_result<A, B, C> &&)`
--- `explicit basic_outcome(const basic_result<A, B, C> &)`
--- `explicit basic_outcome(basic_result<A, B, C> &&)`
--- `explicit basic_outcome(in_place_type_t<value_type_if_enabled>, Args ...)`
--- `explicit basic_outcome(in_place_type_t<value_type_if_enabled>, std::initializer_list<U>, Args ...)`
--- `explicit basic_outcome(in_place_type_t<error_type_if_enabled>, Args ...)`
--- `explicit basic_outcome(in_place_type_t<error_type_if_enabled>, std::initializer_list<U>, Args ...)`
--- `explicit basic_outcome(in_place_type_t<exception_type_if_enabled>, Args ...)`
--- `explicit basic_outcome(in_place_type_t<exception_type_if_enabled>, std::initializer_list<U>, Args ...)`
--- `basic_outcome(A1 &&, A2 &&, Args ...)`
--- `basic_outcome(const success_type<T> &)`
--- `basic_outcome(success_type<T> &&)`
--- `basic_outcome(const failure_type<EC> &)`
--- `basic_outcome(failure_type<EC> &&)`
--- `basic_outcome(const failure_type<EC> &)`
--- `basic_outcome(failure_type<EC> &&)`
--- `basic_outcome(const failure_type<EP> &)`
--- `basic_outcome(failure_type<EP> &&)`
--- `basic_outcome(const failure_type<EC, EP> &)`
--- `basic_outcome(failure_type<EC, EP> &&)`
--- `explicit operator bool() const noexcept`
--- `bool has_value() const noexcept`
--- `bool has_error() const noexcept`
--- `bool has_exception() const noexcept`
--- `bool has_failure() const noexcept`
--- `value_type &assume_value() & noexcept`
--- `const value_type &assume_value() const & noexcept`
--- `value_type &&assume_value() && noexcept`
--- `const value_type &&assume_value() const && noexcept`
--- `value_type &value() &`
--- `const value_type &value() const &`
--- `value_type &&value() &&`
--- `const value_type &&value() const &&`
--- `error_type &assume_error() & noexcept`
--- `const error_type &assume_error() const & noexcept`
--- `error_type &&assume_error() && noexcept`
--- `const error_type &&assume_error() const && noexcept`
--- `error_type &error() &`
--- `const error_type &error() const &`
--- `error_type &&error() &&`
--- `const error_type &&error() const &&`
--- `exception_type &assume_exception() & noexcept`
--- `const exception_type &assume_exception() const & noexcept`
--- `const exception_type &&assume_exception() const && noexcept`
--- `exception_type &&assume_exception() && noexcept`
--- `exception_type &exception() &`
--- `const exception_type &exception() const &`
--- `exception_type &&exception() &&`
--- `const exception_type &&exception() const &&`
--- `exception_type failure() const noexcept`
--- `bool operator==(const basic_result<A, B, C> &) const`
--- `bool operator==(const basic_outcome<A, B, C, D> &) const`
--- `bool operator==(const success_type<A> &) const`
--- `bool operator==(const failure_type<A, B> &) const`
--- `bool operator!=(const basic_result<A, B, C> &) const`
--- `bool operator!=(const basic_outcome<A, B, C, D> &) const`
--- `bool operator!=(const success_type<A> &) const`
--- `bool operator!=(const failure_type<A, B> &) const`
--- `void swap(basic_outcome &)`
--- `failure_type<error_type, exception_type> as_failure() const &`
--- `failure_type<error_type, exception_type> as_failure() &&`
--
`basic_result<T, E, NoValuePolicy>`
-- `bad_outcome_access`
-- `bad_result_access_with<EC>`
-- `bad_result_access`
-- `eager<T, Executor = void>/atomic_eager<T, Executor = void>`
-- `failure_type<EC, EP = void>`
-- `generator<T, Executor = void>`
-- `in_place_type_t<T>`
-- `lazy<T, Executor = void>/atomic_lazy<T, Executor = void>`
-- `success_type<T>`
-
Aliases
-
Functions
Frequently asked questions
Videos
Changelog
History
bool operator==(const basic_result<A, B, C> &) const
Returns true if this outcome compares equal to the other result. Comparison is done using operator== on value_type or error_type if the currently chosen state is the same for both outcome and result, otherwise false is returned. Note that if the outcome is excepted, it will never compare equal to a result.
Requires : operator== must be a valid expression between value_type and A, and between error_type and B. If value_type is void, then so must be A; similarly for error_type and B.
Complexity : Whatever the underlying operator== have. Constexpr and noexcept of underlying operations is propagated.
Guarantees : None.