std::error_condition::error_condition
Материал из cppreference.com
<tbody>
</tbody>
error_condition() noexcept; |
(1) | (начиная с C++11) |
error_condition( int val, const error_category& cat ) noexcept; |
(2) | (начиная с C++11) |
template< class ErrorConditionEnum > error_condition( ErrorConditionEnum e ) noexcept; |
(3) | (начиная с C++11) |
error_condition( const error_condition& other ) = default; |
(4) | (начиная с C++11) (объявлено неявно) |
error_condition( error_condition&& other ) = default; |
(5) | (начиная с C++11) (объявлено неявно) |
Создаёт новое условие ошибки.
1) Конструктор по умолчанию. Инициализирует условие ошибки с использованием общей категории и кода ошибки
0.2) Инициализирует условие ошибки с кодом ошибки
val и категорией ошибки cat.3) Инициализирует условие ошибки с помощью перечисления
e. Эффективно вызывает make_error_condition, которую можно найти только с помощью поиска, зависящего от аргумента для e. Эта перегрузка участвует в разрешении перегрузки, только если std::is_error_condition_enum<ErrorConditionEnum>::value равно true.4,5) Неявно определённый конструктор копирования и конструктор перемещения. Инициализирует условие ошибки содержимым
other.Параметры
| other | — | другое условие ошибки для инициализации |
| val | — | код ошибки |
| cat | — | категория ошибки |
| e | — | перечисление условий ошибки |
Отчёты о дефектах
Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:
| Номер | Применён | Поведение в стандарте | Корректное поведение |
|---|---|---|---|
| LWG 3629 | C++11 | использовались только перегрузки std::make_error_condition
|
Используются перегрузки, найденные ADL |
Смотрите также
создаёт условие ошибки для errc значения e (функция) | |
| создает код ошибки iostream (функция) | |
| создаёт фьючерс error_condition (функция) |