Spec-Zone.ru › C++

std::bad_expected_access

Определён в заголовочном файле <expected>
template< class E >
class bad_expected_access : public std::bad_expected_access<void>
(1) (начиная с C++23)
template<>
class bad_expected_access<void> : public std::exception
(2) (начиная с C++23)
1) Определяет тип объекта, который выбрасывается функцией std::expected::value при обращении к объекту expected, содержащему неожиданное значение. bad_expected_access<E> хранит копию неожиданного значения.
2) bad_expected_access<void> является базовым классом для всех остальных специализаций bad_expected_access.

Члены основного шаблона

(конструктор)
создаёт объект bad_expected_access
(открытая функция-член)
error
возвращает сохранённое значение
(открытая функция-член)
what
возвращает поясняющую строку
(открытая функция-член)

std::bad_expected_access::bad_expected_access

explicit bad_expected_access( E e );

Создаёт новый объект bad_expected_access<E>. Инициализирует сохранённое значение значением std::move(e).

std::bad_expected_access::error

const E& error() const & noexcept;
E& error() & noexcept;
const E&& error() const && noexcept;
E&& error() && noexcept;

Возвращает ссылку на сохранённое значение.

std::bad_expected_access::what

const char* what() const noexcept override;

Возвращает поясняющую строку.

Параметры

(нет)

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

Указатель на строку с завершающим нулевым символом, содержащую поясняющую информацию. Строка подходит для преобразования и отображения в виде std::wstring. Гарантируется, что указатель остаётся действительным по крайней мере до уничтожения объекта исключения, от которого он был получен, или до вызова неконстантной функции-члена (например, оператора присваивания копированием) для объекта исключения.

Примечания

Реализации могут, но не обязаны переопределять what().

Члены специализации bad_expected_access<void>

(конструктор)
создаёт объект bad_expected_access<void>
(защищённая функция-член)
(деструктор)
уничтожает объект bad_expected_access<void>
(защищённая функция-член)
operator=
заменяет объект bad_expected_access<void>
(защищённая функция-член)
what
возвращает поясняющую строку
(открытая функция-член)

Специальные функции-члены bad_expected_access<void> являются защищёнными. Их могут вызывать только производные классы.

Пример

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/utility/expected/bad_expected_access

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API