std::is_error_code_enum<std::io_errc>
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody>| Определено в заголовочном файле <ios>
|
||
template< > struct is_error_code_enum<std::io_errc> : public std::true_type { }; |
(начиная с C++11) | |
Эта специализация std::is_error_code_enum сообщает другими компонентами библиотеки, которая значения типа std::io_errc являются перечислениями, которые содержат коды ошибок, которые делают их неявно преобразуются и отнесено к объектам типа std::error_code.
Оригинал:
This specialization of std::is_error_code_enum informs other library components that values of type std::io_errc are enumerations that hold error codes, which makes them implicitly convertible and assignable to objects of type std::error_code.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Унаследован от std::integral_constant
Константы элементы
value [static] |
true (public static константа-элемент) |
Функции-элементы
operator bool |
преобразует объект в bool, возвращает value (public функция-элемент) |
operator() (C++14) |
возвращает value (public функция-элемент) |
Типы элементы
| Тип | Определение |
value_type
|
bool
|
type
|
std::integral_constant<bool, value>
|
Пример
Сравнение
e.code() и std::io_errc::stream компилируется, потому что std::is_error_code_enum<std::io_errc>::value == true
Оригинал:
The comparison between
e.code() and std::io_errc::stream compiles because std::is_error_code_enum<std::io_errc>::value == true
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Запустить этот код
#include <iostream>
#include <fstream>
int main()
{
std::ifstream f("doesn't exist");
try {
f.exceptions(f.failbit);
} catch (const std::ios_base::failure& e) {
std::cout << "Caught an ios_base::failure.\n";
if(e.code() == std::io_errc::stream)
std::cout << "The error code is std::io_errc::stream\n";
}
}
Вывод:
Caught an ios_base::failure.
The error code is std::io_errc::stream
См. также
(C++11) |
идентифицирует класс как перечисление error_code (шаблон класса) |
(C++11) |
содержит код ошибки, зависящий от платформы (класс) |
(C++11) |
коды ошибок потока ввода/вывода (перечисление) |