Localization library
From cppreference.com
                    
                                        
                    < cpp
                    
                                                            
                    The locale facility includes internationalization support for character classification and string collation, numeric, monetary, and date/time formatting and parsing, and message retrieval. Locale settings control the behavior of stream I/O, regular expression library, and other components of the C++ standard library.
Locales
|   Defined in header  
<locale>  | |
 Locales and facets | |
|    set of polymorphic facets that encapsulate cultural differences  (class)  | |
|    obtains a facet from a locale   (function template)  | |
|    checks if a locale implements a specific facet   (function template)  | |
 Character classification | |
|    checks if a character is classified as whitespace by a locale  (function template)  | |
|    (C++11)  | 
   checks if a character is classified as a blank character by a locale   (function template)  | 
|    checks if a character is classified as a control character by a locale  (function template)  | |
|    checks if a character is classified as uppercase by a locale  (function template)  | |
|    checks if a character is classified as lowercase by a locale  (function template)  | |
|    checks if a character is classified as alphabetic by a locale  (function template)  | |
|    checks if a character is classified as a digit by a locale  (function template)  | |
|    checks if a character is classified as punctuation by a locale   (function template)  | |
|    checks if a character is classified as a hexadecimal digit by a locale   (function template)  | |
|    checks if a character is classified as alphanumeric by a locale  (function template)  | |
|    checks if a character is classified as printable by a locale  (function template)  | |
|    checks if a character is classfied as graphical by a locale  (function template)  | |
 Character conversions | |
|    converts a character to uppercase using the ctype facet of a locale  (function template)  | |
|    converts a character to lowercase using the ctype facet of a locale  (function template)  | |
 String and stream conversions | |
|    (C++11)(deprecated in C++17)  | 
   performs conversions between a wide string and a byte string   (class template)  | 
|    (C++11)(deprecated in C++17)  | 
   performs conversion between a byte stream buffer and a wide stream buffer   (class template)  | 
 Facet category base classes | |
|    defines character classification categories   (class)  | |
|    defines character conversion errors   (class)  | |
|    defines messages catalog type   (class)  | |
|    defines date format constants   (class)  | |
|    defines monetary formatting patterns   (class)  | |
 Facet categories | |
|    defines character classification tables   (class template)  | |
|    specialization of std::ctype for type char   (class template specialization)  | |
|    converts between character encodings, including UTF-8, UTF-16, UTF-32  (class template)  | |
|    defines lexicographical comparison and hashing of strings  (class template)  | |
|    implements retrieval of strings from message catalogs  (class template)  | |
|    parses time/date values from an input character sequence into struct std::tm  (class template)  | |
|    formats contents of struct std::tm for output as character sequence  (class template)  | |
|    parses numeric values from an input character sequence  (class template)  | |
|    formats numeric values for output as character sequence  (class template)  | |
|    defines numeric punctuation rules   (class template)  | |
|    parses and constructs a monetary value from an input character sequence  (class template)  | |
|    formats a monetary value for output as a character sequence   (class template)  | |
|    defines monetary formatting parameters used by std::money_get and std::money_put   (class template)  | |
 Locale-specific facet categories | |
|    represents the system-supplied std::ctype for the named locale   (class template)  | |
|    represents the system-supplied std::codecvt for the named locale   (class template)  | |
|    represents the system-supplied std::messages for the named locale   (class template)  | |
|    represents the system-supplied std::collate for the named locale   (class template)  | |
|    represents the system-supplied std::time_get for the named locale   (class template)  | |
|    represents the system-supplied std::time_put for the named locale   (class template)  | |
|    represents the system-supplied std::numpunct for the named locale   (class template)  | |
|    represents the system-supplied std::moneypunct for the named locale   (class template)  | |
Locale-independent unicode conversion facets
|   Defined in header  
<codecvt>  | |
|    (C++11)(deprecated in C++17)  | 
   converts between UTF-8 and UCS2/UCS4   (class template)  | 
|    (C++11)(deprecated in C++17)  | 
   converts between UTF-16 and UCS2/UCS4   (class template)  | 
|    (C++11)(deprecated in C++17)  | 
   converts between UTF-8 and UTF-16   (class template)  | 
|    (C++11)(deprecated in C++17)  | 
   tags to alter behavior of the standard codecvt facets  (enum)  | 
C library locales
|   Defined in header  
<clocale>  | |
|    gets and sets the current C locale  (function)  | |
|    locale categories for std::setlocale  (macro constant)  | |
|    queries numeric and monetary formatting details of the current locale  (function)  | |
|    formatting details, returned by std::localeconv   (class)  | |
See also
|   C documentation for Localization support 
 |