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 system_category, 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.
[edit] Member functions
|   constructs an error_category  (public member function)  | |
|    [virtual]  | 
  destructs an error_category  (virtual public member function)  | 
|    the assignment operator is deleted  (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  (virtual public member function)  | 
|    [virtual]  | 
   obtains the explanatory string for error_condition  (virtual public member function)  | 
|    compares error_categories  (function)  | |
[edit] 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)  |