◐ Shell
clean mode source ↗

std::expected<T,E>::value — cppreference.com

Материал из cppreference.com

<tbody> </tbody>

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 содержит неожидаемое значение.

Пример

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