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 has_failure() const noexcept Returns true if there is either an error or an exception. Constexpr where possible. Requires: Always available. Complexity: Constant time. Guarantees: Never throws an exception. bool has_exception() const noexcept value_type &assume_value() & noexcept