Namespaces
Variants

std:: is_error_code_enum

From cppreference.net
Utilities library
Определено в заголовочном файле <system_error>
template < class T >
struct is_error_code_enum ;
(начиная с C++11)

Если T является перечислением кодов ошибок (таким как std::io_errc и std::future_errc ), этот шаблон предоставляет константу-член value равную true . Для любого другого типа value равна false .

Этот шаблон может быть специализирован для program-defined type чтобы указать, что тип подходит для std::error_code неявного преобразования.

Содержание

Шаблон вспомогательной переменной

template < class T >
constexpr bool is_error_code_enum_v = is_error_code_enum < T > :: value ;
(начиная с C++17)

Унаследовано от std:: integral_constant

Константы-члены

value
[static]
true если T является перечислением кода ошибки, false в противном случае
(публичная статическая константа-член)

Функции-члены

operator bool
преобразует объект в bool , возвращает value
(публичная функция-член)
operator()
(C++14)
возвращает value
(публичная функция-член)

Типы-члены

Тип Определение
value_type bool
type std:: integral_constant < bool , value >
#include <ios>
#include <system_error>
static_assert(std::is_error_code_enum_v<decltype(std::io_errc::stream)>);
static_assert(!std::is_error_code_enum_v<std::error_category>);
int main() {}

Смотрите также

идентифицирует перечисление как std::error_condition
(шаблон класса)