std::error_category
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <system_error>
  | 
||
|   class error_category;  | 
(since C++11) | |
std::error_category serves as the base class for specific error category types, such as std::system_category, std::iostream_category, etc. Each specific category class defines the error_code - error_condition mapping and holds the explanatory strings for all error_conditions. The objects of error category classes are treated as singletons, passed by reference.
Member functions
  constructs an error_category (public member function)  | |
|    [virtual]  | 
  destructs an error_category (virtual public member function)  | 
|    operator= [deleted]  | 
   not copy assignable  (public member function)  | 
|    [virtual]  | 
   obtains the name of the category  (virtual public member function)  | 
|    [virtual]  | 
   maps error_code to error_condition (virtual public member function)  | 
|    [virtual]  | 
   compares error_code and error_condition for equivalence (virtual public member function)  | 
|    [virtual]  | 
   obtains the explanatory string  (virtual public member function)  | 
|    compares two error categories  (function)  | 
Specific error categories
|    (C++11)  | 
   identifies the generic error category   (function)  | 
|    (C++11)  | 
   identifies the operating system error category   (function)  | 
|    (C++11)  | 
   identifies the iostream error category  (function)  | 
|    (C++11)  | 
   identifies the future error category  (function)  | 
|    (C++11)  | 
   holds a portable error code  (class)  | 
|    (C++11)  | 
   holds a platform-dependent error code   (class)  |