std::expected<T,E>::error_or
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Utilities library
Type support (basic types, RTTI)
Library feature-test macros (C++20)
(C++11)
(C++20)
(C++26)
(C++20)
Coroutine support (C++20)
Contract support (C++26)
(C++20)(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
General utilities
Relational operators (deprecated in C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
(C++20)
Swap and type operations
Common vocabulary types
std::expected
expected::error_or
template< class G = E >
constexpr E error_or( G&& default_value ) const&;
(1)
(since C++23)
constexpr E error_or( G&& default_value ) const&;
template< class G = E >
constexpr E error_or( G&& default_value ) &&;
(2)
(since C++23)
constexpr E error_or( G&& default_value ) &&;
Returns the unexpected value if it exists, otherwise returns default_value.
1) If std::is_copy_constructible_v <E> or std::is_convertible_v <G, E> is false, the program is ill-formed.
2) If std::is_move_constructible_v <E> or std::is_convertible_v <G, E> is false, the program is ill-formed.
Contents
[edit] Parameters
default_value
-
the value to use in case *this does not contain an unexpected value
Type requirements
[edit] Return value
1) has_value() ? std::forward <G>(default_value) : error()
2) has_value() ? std::forward <G>(default_value) : std::move(error())
[edit] Example
This section is incomplete
Reason: no example
Reason: no example