Пространства имён
Варианты
Действия

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

Материал из cppreference.com
< cpp‎ | utility‎ | expected
 
 
Библиотека утилит
Языковая поддержка
Поддержка типов (базовые типы, RTTI)
Макросы тестирования функциональности библиотеки (C++20)    
Управление динамической памятью
Программные утилиты
Поддержка сопрограмм (C++20)
Вариативные функции
Трёхстороннее сравнение (C++20)
(C++20)
(C++20)(C++20)(C++20)(C++20)(C++20)(C++20)
Общие утилиты
Дата и время
Функциональные объекты
Библиотека форматирования (C++20)
(C++11)
Операторы отношения (устарело в C++20)
Целочисленные функции сравнения
(C++20)(C++20)(C++20)    
(C++20)
Операции обмена и типа
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Общие лексические типы
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Элементарные преобразования строк
(C++17)
(C++17)
 
std::expected
Функции-элементы
Наблюдатели
expected::value
Монадические операции
Модификаторы
Функции, не являющиеся элементами
Вспомогательные классы
 
T is not cv void
constexpr T& value() &;
(1) (начиная с C++23)
constexpr const T& value() const&;
(2) (начиная с C++23)
constexpr T&& value() &&;
(3) (начиная с C++23)
constexpr const T&& value() const&&;
(4) (начиная с C++23)
T is cv void
constexpr void value() const&;
(5) (начиная с C++23)
constexpr void value() &&;
(6) (начиная с C++23)

Если *this содержит ожидаемое значение, возвращает ссылку на содержащееся значение. Ничего не возвращает, если T является (возможно, cv-квалифицированным) void.

Иначе генерируется исключение типа std::bad_expected_access<std::decay_t<E>>, содержащее копию error().

1,2,5) Если std::is_copy_constructible_v<E> равно false, программа некорректна.
3,4,6) Если std::is_copy_constructible_v<E> или std::is_constructible_v<E, decltype(std::move(error()))> равны false, программа некорректна.

Содержание

[править] Параметры

(нет)

[править] Возвращаемое значение

@1-4) Ожидаемое значение, содержащееся в *this.
5,6) (нет)

[править] Исключения

1,2,5) Генерирует std::bad_expected_access(std::as_const(error())), если *this содержит неожидаемое значение.
3,4,6) Генерирует std::bad_expected_access(std::move(error())), если *this содержит неожидаемое значение.

[править] Пример

[править] Смотрите также

возвращает ожидаемое значение, если оно присутствует, иначе другое значение
(public функция-элемент) [править]
обращается к ожидаемому значению
(public функция-элемент) [править]
возвращает неожидаемое значение
(public функция-элемент) [править]
исключение, указывающее проверенный доступ к expected, содержащему неожидаемое значение
(шаблон класса) [править]