std::is_error_code_enum
С сайта ru.cppreference.net
| Определён в заголовке <system_error>
|
||
template< class T >
struct is_error_code_enum;
|
(начиная с C++11) | |
Если T является перечислением кода ошибки (таким как std::io_errc и std::future_errc), этот шаблон предоставляет константу-элемент value равную true. Для любого другого типа value равно false.
Этот шаблон может быть специализирован для определённого пользователем типа, чтобы указать, что тип пригоден для неявного преобразования в 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() {}
Смотрите также
|
(C++11)
|
идентифицирует перечисление как
std::error_condition
(шаблон класса) |