Пространства имён
Варианты
Действия

std::is_error_code_enum<std::io_errc>

Материал из cppreference.com
< cpp‎ | io‎ | io errc

 
 
Библиотека ввода/вывода
Манипуляторы ввода/вывода
Функции print (C++23)
Ввод/вывод в стиле C
Буферы
(устарело в C++98)
Потоки
Абстракции
Файловый ввод/вывод
Ввод/вывод строк
Ввод/вывод массивов
(устарело в C++98)
(устарело в C++98)
(устарело в C++98)
Синхронизированный вывод
Типы
Интерфейс категорий ошибок
(C++11)
 
std::io_errc
Вспомогательные классы
Оригинал:
Helper classes
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
is_error_code_enum<std::io_errc>
Вспомогательные функции
Оригинал:
Helper functions
Текст был переведён автоматически используя Переводчик 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

[править] См. также

идентифицирует класс как перечисление error_code
(шаблон класса) [править]
содержит код ошибки, зависящий от платформы
(класс) [править]
(C++11)
коды ошибок потока ввода/вывода
(перечисление) [править]