Namespaces
Variants

std:: ctype_byname

From cppreference.net
Definiert im Header <locale>
template < class CharT >
class ctype_byname : public std:: ctype < CharT > ;

std::ctype_byname ist ein std::ctype Facette, das die Zeichenklassifizierungsregeln des bei seiner Konstruktion angegebenen Gebietsschemas kapselt.

Inhaltsverzeichnis

Spezialisierungen

Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen:

Definiert im Header <locale>
std :: ctype_byname < char > bietet Klassifizierung für schmale Zeichen (verwendet Tabellennachschlage für Zeichenklassifizierung)
std :: ctype_byname < wchar_t > bietet Klassifizierung für breite Zeichen

Verschachtelte Typen

Typ Definition
mask typename std:: ctype < CharT > :: mask

Memberfunktionen

(constructor)
konstruiert eine neue ctype_byname Facette
(öffentliche Elementfunktion)
(destructor)
zerstört eine ctype_byname Facette
(geschützte Elementfunktion)

std::ctype_byname:: ctype_byname

explicit ctype_byname ( const char * name, std:: size_t refs = 0 ) ;
explicit ctype_byname ( const std:: string & name, std:: size_t refs = 0 ) ;
(seit C++11)

Konstruiert einen neuen std::ctype_byname Facet für ein Locale mit name .

refs wird für die Ressourcenverwaltung verwendet: wenn refs == 0 , zerstört die Implementierung den Facet, wenn das letzte std::locale Objekt, das ihn enthält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.

Parameter

name - der Name des Locale
refs - die Anzahl der Referenzen, die mit dem Facet verknüpft sind

std::ctype_byname:: ~ctype_byname

protected :
~ctype_byname ( ) ;

Zerstört den Facet.

Geerbt von std:: ctype <CharT> (nur wenn CharT nicht char ist)

Geschachtelte Typen

Typ Definition
char_type CharT

Datenelemente

Element Beschreibung
std::locale::id id [static] die Kennung des Facets

Elementfunktionen

ruft do_is auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_scan_is auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_scan_not auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_toupper auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_tolower auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_widen auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_narrow auf
(öffentliche Elementfunktion von std::ctype<CharT> )

Geschützte Elementfunktionen

[virtual]
konvertiert ein Zeichen oder Zeichen in Großbuchstaben
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
konvertiert ein Zeichen oder Zeichen in Kleinbuchstaben
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
konvertiert ein Zeichen oder Zeichen von char zu CharT
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
konvertiert ein Zeichen oder Zeichen von CharT zu char
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
klassifiziert ein Zeichen oder eine Zeichensequenz
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
findet das erste Zeichen in einer Sequenz, das einer gegebenen Klassifikation entspricht
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
findet das erste Zeichen in einer Sequenz, das einer gegebenen Klassifikation nicht entspricht
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )

Geerbt von std:: ctype<char> (nur wenn CharT gleich char ist)

Geschachtelte Typen

Typ Definition
char_type char

Datenelemente

Element Beschreibung
std::locale::id id [static] die Kennung des Facets
const std:: size_t table_size [static] Größe der Klassifizierungstabelle, mindestens 256

Elementfunktionen

ermittelt die Zeichenklassifizierungstabelle
(öffentliche Elementfunktion von std::ctype <char> )
ermittelt die "C"-Locale-Zeichenklassifizierungstabelle
(öffentliche statische Elementfunktion von std::ctype <char> )
klassifiziert ein Zeichen oder eine Zeichenfolge unter Verwendung der Klassifizierungstabelle
(öffentliche Elementfunktion von std::ctype <char> )
sucht das erste Zeichen in einer Folge, das einer bestimmten Klassifizierung entspricht, unter Verwendung der Klassifizierungstabelle
(öffentliche Elementfunktion von std::ctype <char> )
sucht das erste Zeichen in einer Folge, das eine bestimmte Klassifizierung nicht erfüllt, unter Verwendung der Klassifizierungstabelle
(öffentliche Elementfunktion von std::ctype <char> )
ruft do_toupper auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_tolower auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_widen auf
(öffentliche Elementfunktion von std::ctype<CharT> )
ruft do_narrow auf
(öffentliche Elementfunktion von std::ctype<CharT> )

Geschützte Elementfunktionen

[virtual]
konvertiert ein Zeichen oder Zeichen zu Großbuchstaben
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
konvertiert ein Zeichen oder Zeichen zu Kleinbuchstaben
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
konvertiert ein Zeichen oder Zeichen von char zu CharT
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )
[virtual]
konvertiert ein Zeichen oder Zeichen von CharT zu char
(virtuelle geschützte Elementfunktion von std::ctype<CharT> )

Geerbt von std:: ctype_base

Verschachtelte Typen

Typ Definition
mask nicht spezifizierter BitmaskType Typ (Aufzählung, Ganzzahltyp oder Bitset)

Member-Konstanten

space
[static]
der Wert von mask zur Identifikation der Leerzeichen-Zeichenklassifikation
(öffentliche statische Member-Konstante)
print
[static]
der Wert von mask zur Identifikation der druckbaren Zeichenklassifikation
(öffentliche statische Member-Konstante)
cntrl
[static]
der Wert von mask zur Identifikation der Steuerzeichen-Klassifikation
(öffentliche statische Member-Konstante)
upper
[static]
der Wert von mask zur Identifikation der Großbuchstaben-Zeichenklassifikation
(öffentliche statische Member-Konstante)
lower
[static]
der Wert von mask zur Identifikation der Kleinbuchstaben-Zeichenklassifikation
(öffentliche statische Member-Konstante)
alpha
[static]
der Wert von mask zur Identifikation der alphabetischen Zeichenklassifikation
(öffentliche statische Member-Konstante)
digit
[static]
der Wert von mask zur Identifikation der Ziffern-Zeichenklassifikation
(öffentliche statische Member-Konstante)
punct
[static]
der Wert von mask zur Identifikation der Interpunktions-Zeichenklassifikation
(öffentliche statische Member-Konstante)
xdigit
[static]
der Wert von mask zur Identifikation der hexadezimalen Ziffern-Zeichenklassifikation
(öffentliche statische Member-Konstante)
blank
[static] (C++11)
der Wert von mask zur Identifikation der Leerzeichen-Zeichenklassifikation
(öffentliche statische Member-Konstante)
alnum
[static]
alpha | digit
(öffentliche statische Member-Konstante)
graph
[static]
alnum | punct
(öffentliche statische Member-Konstante)

Hinweise

std :: ctype_byname < char > wurde fälschlicherweise als explizite Spezialisierung in der Synopsis von <locale> deklariert, und die Deklaration wurde durch die Lösung von LWG Issue 1298 entfernt, aber es bleibt eine erforderliche Spezialisierung, genau wie std :: ctype_byname < wchar_t > .

Beispiel

#include <iostream>
#include <locale>
int main()
{
    wchar_t c = L'\u00de'; // capital letter thorn
    std::locale loc("C");
    std::cout << "isupper('Þ', C locale) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
    loc = std::locale(loc, new std::ctype_byname<wchar_t>("en_US.utf8"));
    std::cout << "isupper('Þ', C locale with Unicode ctype) returned "
              << std::boolalpha << std::isupper(c, loc) << '\n';
}

Ausgabe:

isupper('Þ', C locale) returned false
isupper('Þ', C locale with Unicode ctype) returned true

Fehlerberichte

Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.

DR Angewendet auf Verhalten wie veröffentlicht Korrektes Verhalten
LWG 16 C++98 die Definition der expliziten Spezialisierung std :: ctype_byname < char >
spezifizierte den Namen und die Parameterliste von do_narrow falsch
korrigiert
LWG 616 C++98 der typename Disambiguator fehlte in der Definition von mask hinzugefügt

Siehe auch

definiert Zeichenklassifizierungstabellen
(Klassentemplate)
Spezialisierung von std::ctype für den Typ char
(Klassentemplate-Spezialisierung)