| 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 | |||||||||||||||||||||||||
| |||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Defined in header <locale> | ||
template<class CharT> class collate_byname:publicstd::collate<CharT>; | ||
std::collate_byname is astd::collate facet which encapsulates locale-specific collation (comparison) and hashing of strings. Just likestd::collate, it can be imbued instd::regex and applied, by means ofstd::locale::operator(), directly to all standard algorithms that expect a string comparison predicate.
Contents |
The standard library is guaranteed to provide the following specializations:
Defined in header <locale> | |
| std::collate_byname<char> | locale-specific collation of multibyte strings |
| std::collate_byname<wchar_t> | locale-specific collation of wide strings |
(constructor) | constructs a newcollate_byname facet(public member function)[edit] |
(destructor) | destroys acollate_byname facet(protected member function)[edit] |
explicit collate_byname(constchar* name,std::size_t refs=0); | ||
explicit collate_byname(conststd::string& name,std::size_t refs=0); | (since C++11) | |
Constructs a newstd::collate_byname facet for a locale withname.
refs is used for resource management: ifrefs==0, the implementation destroys the facet, when the laststd::locale object holding it is destroyed. Otherwise, the object is not destroyed.
| name | - | the name of the locale |
| refs | - | the number of references that link to the facet |
protected: ~collate_byname(); | ||
Destroys the facet.
| Type | Definition |
char_type | CharT |
string_type | std::basic_string<CharT> |
| Member | Description |
std::locale::idid[static] | the identifier of thefacet |
invokesdo_compare(public member function of std::collate<CharT>)[edit] | |
invokesdo_transform(public member function of std::collate<CharT>)[edit] | |
invokesdo_hash(public member function of std::collate<CharT>)[edit] |
[virtual] | compares two strings using this facet's collation rules (virtual protected member function of std::collate<CharT>)[edit] |
[virtual] | transforms a string so that collation can be replaced by comparison (virtual protected member function of std::collate<CharT>)[edit] |
[virtual] | generates an integer hash value using this facet's collation rules (virtual protected member function of std::collate<CharT>)[edit] |
Collation order is the dictionary order: the position of the letter in the national alphabet (itsequivalence class) has higher priority than its case or variant. Within an equivalence class, lowercase characters collate before their uppercase equivalents and locale-specific order may apply to the characters with diacritics. In some locales, groups of characters compare as singlecollation units. For example,"ch" in Czech follows"h" and precedes"i", and"dzs" in Hungarian follows"dz" and precedes"g".
| This section is incomplete Reason: no example |
| defines lexicographical comparison and hashing of strings (class template)[edit] | |
| compares two strings in accordance to the current locale (function)[edit] | |
| compares two wide strings in accordance to the current locale (function)[edit] | |
| lexicographically compares two strings using this locale's collate facet (public member function of std::locale)[edit] |