std::expected::value_or(3)

NAME
std::expected::value_or - std::expected::value_or

Synopsis
   template< class U > (1) (since C++23)
   constexpr T value_or( U&& default_value ) const&;
   template< class U > (2) (since C++23)
   constexpr T value_or( U&& default_value ) &&;
   Returns the contained value if *this contains an expected value, otherwise returns
   default_value.
   1) Returns bool(*this) ? **this : static_cast<T>(std::forward<U>(default_value))
   2) Returns bool(*this) ? std::move(**this) :
   static_cast<T>(std::forward<U>(default_value))

Parameters
   default_value - the value to use in case *this does not contain an expected value

Type requirements
   -
   T must meet the requirements of CopyConstructible in order to use overload (1).
   -
   T must meet the requirements of MoveConstructible in order to use overload (2).
   -
   U&& must be convertible to T

Return value
   The currently contained value if *this contains an expected value, or default_value
   otherwise.

Exceptions
   Any exception thrown by the selected constructor of the return value T.

Notes
   If T is (possibly cv-qualified) void, this member is not declared.

Example
    This section is incomplete
    Reason: no example

See also
   value returns the expected value
         (public member function)

Category:
     * Todo no example