This is a traits class to identify whether a particular type is an error code enum type, and thus can be used to construct or assign values to objects of type error_code.
The standard header only provides the default definition, which simply inherits from false_type. But it should be specialized as inheriting from true_type to enable the construction of error_code object from error code enum types. The standard error condition types io_errc and future_errc inherit true_type.