std::is_error_code_enum<std::io_errc>
Материал из cppreference.com
![]() |
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
Определено в заголовочном файле <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) |
коды ошибок потока ввода/вывода (перечисление) |