Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/locale"

From cppreference.com
< cpp
(ctype_byname<char> is actually the same as ctype_byname (the difference is in their parent))
m (See also: -'\n')
 
(13 intermediate revisions by 9 users not shown)
Line 4: Line 4:
 
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.
 
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 ===
+
===Locales and facets===
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list header | locale }}
+
{{dsc header|locale}}
 +
{{dsc h2|Locales}}
 +
{{dsc inc|cpp/locale/dsc locale}}
 +
{{dsc inc|cpp/locale/dsc use_facet}}
 +
{{dsc inc|cpp/locale/dsc has_facet}}
  
{{dcl list h2 | Locales and facets }}
+
{{dsc h2|Facet category base classes}}
{{dcl list template | cpp/locale/dcl list locale}}
+
{{dsc inc|cpp/locale/dsc ctype_base}}
{{dcl list template | cpp/locale/dcl list use_facet}}
+
{{dsc inc|cpp/locale/dsc codecvt_base}}
{{dcl list template | cpp/locale/dcl list has_facet}}
+
{{dsc inc|cpp/locale/dsc messages_base}}
 +
{{dsc inc|cpp/locale/dsc time_base}}
 +
{{dsc inc|cpp/locale/dsc money_base}}
  
{{dcl list h2 | Character classification }}
+
{{dsc h2|ctype facets}}
{{dcl list template | cpp/locale/dcl list isspace}}
+
{{dsc inc|cpp/locale/dsc ctype}}
{{dcl list template | cpp/locale/dcl list isblank}}
+
{{dsc inc|cpp/locale/dsc ctype_byname}}
{{dcl list template | cpp/locale/dcl list iscntrl}}
+
{{dsc inc|cpp/locale/dsc ctype_char}}
{{dcl list template | cpp/locale/dcl list isupper}}
+
{{dsc inc|cpp/locale/dsc codecvt}}
{{dcl list template | cpp/locale/dcl list islower}}
+
{{dsc inc|cpp/locale/dsc codecvt_byname}}
{{dcl list template | cpp/locale/dcl list isalpha}}
+
{{dcl list template | cpp/locale/dcl list isdigit}}
+
{{dcl list template | cpp/locale/dcl list ispunct}}
+
{{dcl list template | cpp/locale/dcl list isxdigit}}
+
{{dcl list template | cpp/locale/dcl list isalnum}}
+
{{dcl list template | cpp/locale/dcl list isprint}}
+
{{dcl list template | cpp/locale/dcl list isgraph}}
+
  
{{dcl list h2 | Character conversions }}
+
{{dsc h2|numeric facets}}
{{dcl list template | cpp/locale/dcl list toupper}}
+
{{dsc inc|cpp/locale/dsc num_get}}
{{dcl list template | cpp/locale/dcl list tolower}}
+
{{dsc inc|cpp/locale/dsc num_put}}
 +
{{dsc inc|cpp/locale/dsc numpunct}}
 +
{{dsc inc|cpp/locale/dsc numpunct_byname}}
  
{{dcl list h2 | String and stream conversions }}
+
{{dsc h2|collate facets}}
{{dcl list template | cpp/locale/dcl list wstring_convert}}
+
{{dsc inc|cpp/locale/dsc collate}}
{{dcl list template | cpp/locale/dcl list wbuffer_convert}}
+
{{dsc inc|cpp/locale/dsc collate_byname}}
  
{{dcl list h2 | Facet category base classes }}
+
{{dsc h2|time facets}}
{{dcl list template | cpp/locale/dcl list ctype_base}}
+
{{dsc inc|cpp/locale/dsc time_get}}
{{dcl list template | cpp/locale/dcl list codecvt_base}}
+
{{dsc inc|cpp/locale/dsc time_get_byname}}
{{dcl list template | cpp/locale/dcl list messages_base}}
+
{{dsc inc|cpp/locale/dsc time_put}}
{{dcl list template | cpp/locale/dcl list time_base}}
+
{{dsc inc|cpp/locale/dsc time_put_byname}}
{{dcl list template | cpp/locale/dcl list money_base}}
+
  
{{dcl list h2 | Facet categories }}
+
{{dsc h2|monetary facets}}
{{dcl list template | cpp/locale/dcl list ctype}}
+
{{dsc inc|cpp/locale/dsc money_get}}
{{dcl list template | cpp/locale/dcl list ctype_char}}
+
{{dsc inc|cpp/locale/dsc money_put}}
{{dcl list template | cpp/locale/dcl list codecvt}}
+
{{dsc inc|cpp/locale/dsc moneypunct}}
{{dcl list template | cpp/locale/dcl list collate}}
+
{{dsc inc|cpp/locale/dsc moneypunct_byname}}
{{dcl list template | cpp/locale/dcl list messages}}
+
{{dcl list template | cpp/locale/dcl list time_get}}
+
{{dcl list template | cpp/locale/dcl list time_put}}
+
{{dcl list template | cpp/locale/dcl list num_get}}
+
{{dcl list template | cpp/locale/dcl list num_put}}
+
{{dcl list template | cpp/locale/dcl list numpunct}}
+
{{dcl list template | cpp/locale/dcl list money_get}}
+
{{dcl list template | cpp/locale/dcl list money_put}}
+
{{dcl list template | cpp/locale/dcl list moneypunct}}
+
  
{{dcl list h2 | Locale-specific facet categories }}
+
{{dsc h2|messages facets}}
{{dcl list template | cpp/locale/dcl list ctype_byname}}
+
{{dsc inc|cpp/locale/dsc messages}}
{{dcl list template | cpp/locale/dcl list codecvt_byname}}
+
{{dsc inc|cpp/locale/dsc messages_byname}}
{{dcl list template | cpp/locale/dcl list messages_byname}}
+
{{dsc end}}
{{dcl list template | cpp/locale/dcl list collate_byname}}
+
{{dcl list template | cpp/locale/dcl list time_get_byname}}
+
{{dcl list template | cpp/locale/dcl list time_put_byname}}
+
{{dcl list template | cpp/locale/dcl list numpunct_byname}}
+
{{dcl list template | cpp/locale/dcl list moneypunct_byname}}
+
{{dcl list end}}
+
  
=== Locale-independent unicode conversion facets ===
+
===Character classification and conversion===
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list header | codecvt }}
+
{{dsc header|locale}}
{{dcl list template | cpp/locale/dcl list codecvt_utf8}}
+
{{dsc h2|Character classification}}
{{dcl list template | cpp/locale/dcl list codecvt_utf16}}
+
{{dsc inc|cpp/locale/dsc isspace}}
{{dcl list template | cpp/locale/dcl list codecvt_utf8_utf16}}
+
{{dsc inc|cpp/locale/dsc isblank}}
{{dcl list template | cpp/locale/dcl list codecvt_mode}}
+
{{dsc inc|cpp/locale/dsc iscntrl}}
{{dcl list end}}
+
{{dsc inc|cpp/locale/dsc isupper}}
 +
{{dsc inc|cpp/locale/dsc islower}}
 +
{{dsc inc|cpp/locale/dsc isalpha}}
 +
{{dsc inc|cpp/locale/dsc isdigit}}
 +
{{dsc inc|cpp/locale/dsc ispunct}}
 +
{{dsc inc|cpp/locale/dsc isxdigit}}
 +
{{dsc inc|cpp/locale/dsc isalnum}}
 +
{{dsc inc|cpp/locale/dsc isprint}}
 +
{{dsc inc|cpp/locale/dsc isgraph}}
  
=== C library locales ===
+
{{dsc h2|Character conversions}}
{{dcl list begin}}
+
{{dsc inc|cpp/locale/dsc toupper}}
{{dcl list header | clocale }}
+
{{dsc inc|cpp/locale/dsc tolower}}
{{dcl list template | cpp/locale/dcl list setlocale}}
+
 
{{dcl list template | cpp/locale/dcl list LC_categories}}
+
{{dsc h2|String and stream conversions}}
{{dcl list template | cpp/locale/dcl list localeconv}}
+
{{dsc inc|cpp/locale/dsc wstring_convert}}
{{dcl list template | cpp/locale/dcl list lconv}}
+
{{dsc inc|cpp/locale/dsc wbuffer_convert}}
{{dcl list end}}
+
{{dsc end}}
 +
 
 +
 
 +
{{rrev|since=c++26|
 +
===Text encoding identifications===
 +
{{dsc begin}}
 +
{{dsc header|text_encoding}}
 +
{{dsc inc|cpp/locale/dsc text_encoding}}
 +
{{dsc end}}
 +
}}
 +
 
 +
 
 +
{{rrev|until=c++26|
 +
===Locale-independent unicode conversion facets===
 +
{{dsc begin}}
 +
{{dsc header|codecvt}}
 +
{{dsc inc|cpp/locale/dsc codecvt_utf8}}
 +
{{dsc inc|cpp/locale/dsc codecvt_utf16}}
 +
{{dsc inc|cpp/locale/dsc codecvt_utf8_utf16}}
 +
{{dsc inc|cpp/locale/dsc codecvt_mode}}
 +
{{dsc end}}
 +
}}
 +
 
 +
===C library locales===
 +
{{dsc begin}}
 +
{{dsc header|clocale}}
 +
{{dsc inc|cpp/locale/dsc setlocale}}
 +
{{dsc inc|cpp/locale/dsc LC_categories}}
 +
{{dsc inc|cpp/locale/dsc localeconv}}
 +
{{dsc inc|cpp/locale/dsc lconv}}
 +
{{dsc end}}
 +
 
 +
===See also===
 +
{{dsc begin}}
 +
{{dsc see c|c/locale|Localization support|nomono=true}}
 +
{{dsc end}}
 +
 
 +
{{langlinks|ar|de|es|fr|it|ja|pt|ru|zh}}

Latest revision as of 20:29, 30 December 2023

 
 
 

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.

Contents

[edit] Locales and facets

Defined in header <locale>
Locales
set of polymorphic facets that encapsulate cultural differences
(class) [edit]
obtains a facet from a locale
(function template) [edit]
checks if a locale implements a specific facet
(function template) [edit]
Facet category base classes
defines character classification categories
(class) [edit]
defines character conversion errors
(class) [edit]
defines messages catalog type
(class) [edit]
defines date format constants
(class) [edit]
defines monetary formatting patterns
(class) [edit]
ctype facets
defines character classification tables
(class template) [edit]
represents the system-supplied std::ctype for the named locale
(class template) [edit]
specialization of std::ctype for type char
(class template specialization) [edit]
converts between character encodings, including UTF-8, UTF-16, UTF-32
(class template) [edit]
represents the system-supplied std::codecvt for the named locale
(class template) [edit]
numeric facets
parses numeric values from an input character sequence
(class template) [edit]
formats numeric values for output as character sequence
(class template) [edit]
defines numeric punctuation rules
(class template) [edit]
represents the system-supplied std::numpunct for the named locale
(class template) [edit]
collate facets
defines lexicographical comparison and hashing of strings
(class template) [edit]
represents the system-supplied std::collate for the named locale
(class template) [edit]
time facets
parses time/date values from an input character sequence into std::tm
(class template) [edit]
represents the system-supplied std::time_get for the named locale
(class template) [edit]
formats contents of std::tm for output as character sequence
(class template) [edit]
represents the system-supplied std::time_put for the named locale
(class template) [edit]
monetary facets
parses and constructs a monetary value from an input character sequence
(class template) [edit]
formats a monetary value for output as a character sequence
(class template) [edit]
defines monetary formatting parameters used by std::money_get and std::money_put
(class template) [edit]
represents the system-supplied std::moneypunct for the named locale
(class template) [edit]
messages facets
implements retrieval of strings from message catalogs
(class template) [edit]
represents the system-supplied std::messages for the named locale
(class template) [edit]

[edit] Character classification and conversion

Defined in header <locale>
Character classification
checks if a character is classified as whitespace by a locale
(function template) [edit]
checks if a character is classified as a blank character by a locale
(function template) [edit]
checks if a character is classified as a control character by a locale
(function template) [edit]
checks if a character is classified as uppercase by a locale
(function template) [edit]
checks if a character is classified as lowercase by a locale
(function template) [edit]
checks if a character is classified as alphabetic by a locale
(function template) [edit]
checks if a character is classified as a digit by a locale
(function template) [edit]
checks if a character is classified as punctuation by a locale
(function template) [edit]
checks if a character is classified as a hexadecimal digit by a locale
(function template) [edit]
checks if a character is classified as alphanumeric by a locale
(function template) [edit]
checks if a character is classified as printable by a locale
(function template) [edit]
checks if a character is classified as graphical by a locale
(function template) [edit]
Character conversions
converts a character to uppercase using the ctype facet of a locale
(function template) [edit]
converts a character to lowercase using the ctype facet of a locale
(function template) [edit]
String and stream conversions
(C++11)(deprecated in C++17)(removed in C++26)
performs conversions between a wide string and a byte string
(class template) [edit]
(C++11)(deprecated in C++17)(removed in C++26)
performs conversion between a byte stream buffer and a wide stream buffer
(class template) [edit]


Text encoding identifications

Defined in header <text_encoding>
describes an interface for accessing the IANA Character Sets registry
(class) [edit]
(since C++26)


Locale-independent unicode conversion facets

Defined in header <codecvt>
(C++11)(deprecated in C++17)(removed in C++26)
converts between UTF-8 and UCS-2/UCS-4
(class template) [edit]
(C++11)(deprecated in C++17)(removed in C++26)
converts between UTF-16 and UCS-2/UCS-4
(class template) [edit]
(C++11)(deprecated in C++17)(removed in C++26)
converts between UTF-8 and UTF-16
(class template) [edit]
(C++11)(deprecated in C++17)(removed in C++26)
tags to alter behavior of the standard codecvt facets
(enum) [edit]
(until C++26)

[edit] C library locales

Defined in header <clocale>
gets and sets the current C locale
(function) [edit]
locale categories for std::setlocale
(macro constant) [edit]
queries numeric and monetary formatting details of the current locale
(function) [edit]
formatting details, returned by std::localeconv
(class) [edit]

[edit] See also

C documentation for Localization support