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.
[edit] 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_codetoerror_condition(virtual public member function) | 
| [virtual] | compares error_codeanderror_conditionfor equivalence(virtual public member function) | 
| [virtual] | obtains the explanatory string (virtual public member function) | 
| compares two 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) |