Namensräume
Varianten
Aktionen

std::collate_byname

Von cppreference.com
< cpp‎ | locale
 
 
 
 
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) [bearbeiten]
(Destruktor)
zerstört eine collate_byname Facette
(protected member function) [bearbeiten]

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>) [edit]
ruft do_transform auf
(public member function of std::collate<CharT>) [edit]
ruft do_hash auf
(public member function of std::collate<CharT>) [edit]

Geschützte Memberfunktionen

[virtuell]
vergleicht zwei Zeichenketten anhand der Sortierregeln dieses Facets
(virtual protected member function of std::collate<CharT>) [edit]
[virtuell]
transformiert eine Zeichenkette, damit die Sortierung durch einen Vergleich ersetzt werden kann
(virtual protected member function of std::collate<CharT>) [edit]
[virtuell]
generiert einen ganzzahligen Hashwert unter Verwendung der Kollationsregeln dieser Facette
(virtual protected member function of std::collate<CharT>) [edit]

[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

[edit] Siehe auch

definiert lexikographische Vergleiche und Hashing von Zeichenketten
(Klassentemplate) [bearbeiten]
vergleicht zwei Strings gemäß der aktuellen Locale
(Funktion) [bearbeiten]
vergleicht zwei breite Zeichenketten gemäß der aktuellen Locale
(Funktion) [bearbeiten]
Vergleicht lexikografisch zwei Zeichenketten mit der collate-Facet dieses Locales.
(public member function of std::locale) [bearbeiten]