std::collate_byname
| Definiert in Header <locale> |
||
| template< class CharT > class collate_byname : public std::collate<CharT>; |
||
std::collate_byname ist eine Facette von std::collate, die lokalisierungsspezifische Kollation (Vergleich) und Hashing von Zeichenketten kapselt. Genau wie std::collate kann sie in std::regex eingebettet und mittels std::locale::operator() direkt auf alle Standardalgorithmen angewendet werden, die eine Vergleichsprädikat für Zeichenketten erwarten.
Inhalt |
[edit] Spezialisierungen
Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen
| Definiert in Header
<locale> | |
| std::collate_byname<char> | lokalisierungsspezifische Kollation von Multibyte-Zeichenketten |
| std::collate_byname<wchar_t> | lokalisierungsspezifische Kollation von Wide-Zeichenketten |
[edit] Member-Funktionen
| (Konstruktor) |
erzeugt eine neue collate_byname Facette(public member function) |
| (Destruktor) |
zerstört eine collate_byname Facette(protected member function) |
std::collate_byname::collate_byname
| explicit collate_byname( const char* name, std::size_t refs = 0 ); |
||
| explicit collate_byname( const std::string& name, std::size_t refs = 0 ); |
(seit C++11) | |
Erstellt eine neue std::collate_byname Facette für eine Lokalisierung mit dem Namen name.
refs wird für die Ressourcenverwaltung verwendet: Wenn refs = 0 ist, zerstört die Implementierung die Facettenklasse, wenn das letzte std::locale-Objekt, das sie hält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.
Parameter
| name | - | der Name der Locale |
| refs | - | die Anzahl der Referenzen, die auf die Facettenklasse verweisen |
std::collate_byname::~collate_byname
| protected: ~collate_byname(); |
||
Zerstört die Facettenklasse.
Von std::collate geerbt
Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT> |
[edit] Datenmember
| Mitglied | Beschreibung |
std::locale::id id [static] |
die Kennung des Facets |
Memberfunktionen
ruft do_compare auf(public member function of std::collate<CharT>) | |
ruft do_transform auf(public member function of std::collate<CharT>) | |
ruft do_hash auf(public member function of std::collate<CharT>) |
Geschützte Memberfunktionen
| [virtuell] |
vergleicht zwei Zeichenketten anhand der Sortierregeln dieses Facets (virtual protected member function of std::collate<CharT>) |
| [virtuell] |
transformiert eine Zeichenkette, damit die Sortierung durch einen Vergleich ersetzt werden kann (virtual protected member function of std::collate<CharT>) |
| [virtuell] |
generiert einen ganzzahligen Hashwert unter Verwendung der Kollationsregeln dieser Facette (virtual protected member function of std::collate<CharT>) |
[edit] Hinweise
Die Kollationsreihenfolge ist die alphabetische Reihenfolge: Die Position des Buchstabens im nationalen Alphabet (seine Äquivalenzklasse) hat eine höhere Priorität als Groß- und Kleinschreibung oder Varianten. Innerhalb einer Äquivalenzklasse werden Kleinbuchstaben vor ihren entsprechenden Großbuchstaben sortiert und die lokalisierungsspezifische Reihenfolge kann für Zeichen mit diakritischen Zeichen gelten. In einigen Lokalisierungen werden Zeichengruppen als einzelne Kollationseinheiten verglichen. Zum Beispiel folgt "ch" im Tschechischen auf "h" und steht vor "i", und "dzs" im Ungarischen folgt auf "dz" und steht vor "g".
[edit] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[edit] Siehe auch
| definiert lexikographische Vergleiche und Hashing von Zeichenketten (Klassentemplate) | |
| vergleicht zwei Strings gemäß der aktuellen Locale (Funktion) | |
| vergleicht zwei breite Zeichenketten gemäß der aktuellen Locale (Funktion) | |
| Vergleicht lexikografisch zwei Zeichenketten mit der collate-Facet dieses Locales. (public member function of std::locale) |