From cppreference.com
template<classT>structis_error_code_enum;(since C++11)If T is an error code enumeration (such as
and
), this template provides the member constant value equal true. For any other type, value is false.
This template may be specialized for a
to indicate that the type is eligible for
implicit conversion.
Helper variable template
template<classT>constexprboolis_error_code_enum_v=is_error_code_enum<T>::value;(since C++17)Inherited from
Member constants
value
[static]
true if T is an error code enum, false otherwise
(public static member constant)Member functions
operator bool
converts the object to bool, returns value
(public member function)operator()
(C++14)
returns value
(public member function)Member types
Type Definition value_typebooltypestd::integral_constant<bool,value>Run this code
#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>);intmain(){}See also