| Localization library | |||||||||||||||||||||||||
| Regular expressions library(C++11) | |||||||||||||||||||||||||
| Formatting library(C++20) | |||||||||||||||||||||||||
| Null-terminated sequence utilities | |||||||||||||||||||||||||
| Byte strings | |||||||||||||||||||||||||
| Multibyte strings | |||||||||||||||||||||||||
| Wide strings | |||||||||||||||||||||||||
| Primitive numeric conversions | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| Text encoding identifications | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
codecvt::encodingcodecvt::do_encoding | ||||
Defined in header <locale> | ||
| (1) | ||
public: int encoding()constthrow(); | (until C++11) | |
public: int encoding()constnoexcept; | (since C++11) | |
| (2) | ||
protected: virtualint do_encoding()constthrow(); | (until C++11) | |
protected: virtualint do_encoding()constnoexcept; | (since C++11) | |
do_encoding of the most derived class.The exact number ofexternT characters that correspond to oneinternT character, if constant.0 if the number varies,-1 if the encoding is state-dependent.
The non-converting specializationstd::codecvt<char,char,std::mbstate_t> returns1.
#include <iostream>#include <locale> int main(){std::cout<<"en_US.utf8 is a variable-length encoding, encoding() returns "<<std::use_facet<std::codecvt<wchar_t,char,std::mbstate_t>>(std::locale("en_US.utf8")).encoding()<<'\n'; std::cout<<"zh_CN.gb18030 is also variable-length, encoding() == "<<std::use_facet<std::codecvt<wchar_t,char,std::mbstate_t>>(std::locale("zh_CN.gb18030")).encoding()<<'\n'; std::cout<<"ru_RU.koi8r is a single-byte encoding, encoding() == "<<std::use_facet<std::codecvt<wchar_t,char,std::mbstate_t>>(std::locale("ru_RU.koi8r")).encoding()<<'\n';}
Output:
en_US.utf8 is a variable-length encoding, encoding() returns 0zh_CN.gb18030 is also variable-length, encoding() == 0ru_RU.koi8r is a single-byte encoding, encoding() == 1
MB_CUR_MAX | maximum number of bytes in a multibyte character in the current C locale (macro variable)[edit] |
[virtual] | returns the maximum number ofExternT characters that could be converted into a singleInternT character(virtual protected member function)[edit] |