Namespaces
Variants

std::expected<T,E>::error_or

С сайта ru.cppreference.net
 
 
Библиотека утилит
Поддержка языка
Поддержка типов (базовые типы, RTTI)
Макросы проверки возможностей библиотеки (C++20)
Утилиты программы
Функции с переменным числом аргументов
Поддержка корутин (C++20)
Поддержка контрактов (C++26)
Трёхстороннее сравнение
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Общие утилиты
Операторы отношений (устарело в C++20)
 
 
template< class G = E > 
constexpr E error_or( G&& default_value ) const&;
(1) (начиная с C++23)
template< class G = E > 
constexpr E error_or( G&& default_value ) &&;
(2) (начиная с C++23)

Возвращает значение ошибки, если оно существует; в противном случае возвращает default_value.

1) Если std::is_copy_constructible_v<E> или std::is_convertible_v<G, E> является false, программа считается некорректной.
2) Если std::is_move_constructible_v<E> или std::is_convertible_v<G, E> является false, программа считается некорректной.

Параметры

default_value - значение, используемое в случае, если * this не содержит непредвиденного значения
Требования к типу

Возвращаемое значение

1) has_value ( ) ? std:: forward < G > ( default_value ) : error ( )
2) has_value ( ) ? std:: forward < G > ( default_value ) : std :: move ( error ( ) )

Пример

Смотрите также

возвращает неожиданное значение
(публичная функция-член)
возвращает ожидаемое значение, если оно присутствует, иначе другое значение
(публичная функция-член)