Namespaces
Variants

std::ctype <char> :: is

From cppreference.net
Definiert in Header <locale>
bool is ( mask m, char c ) const ;
(1)
const char * is ( const char * low, const char * high, mask * vec ) const ;
(2)
1) Prüft, ob das Zeichen c durch die Maske m gemäß der Klassifikationstabelle klassifiziert wird, die von der Memberfunktion table() zurückgegeben wird. Berechnet effektiv table ( ) [ ( unsigned char ) c ] & m .
2) Für jedes Zeichen im Zeichenarray [ low , high ) , liest seine vollständige Klassifikationsmaske aus der Klassifikationstabelle, die von der Memberfunktion table() zurückgegeben wird (d.h., wertet table ( ) [ ( unsigned char ) * p ] aus und speichert sie im entsprechenden Element des Arrays, auf das vec zeigt.

Wenn ( unsigned char ) c >= std:: ctype < char > :: table_size , dann wird ein implementierungsdefinierter Wert anstelle von table ( ) [ ( unsigned char ) c ] eingesetzt, möglicherweise unterschiedlich für verschiedene Werte von c .

Inhaltsverzeichnis

Parameter

c - zu klassifizierendes Zeichen
m - Maske zur Klassifizierung eines einzelnen Zeichens
low - Zeiger auf das erste Zeichen in einem Array von zu klassifizierenden Zeichen
high - Zeiger auf das Ende (exklusiv) des Arrays von zu klassifizierenden Zeichen
vec - Zeiger auf das erste Element des Arrays von zu füllenden Masken

Rückgabewert

1) true wenn c durch m in table ( ) klassifiziert wird, false andernfalls.
2) high

Hinweise

Im Gegensatz zur primären Vorlage std:: ctype führt diese Spezialisierung keinen virtuellen Funktionsaufruf bei der Klassifizierung von Zeichen aus. Um das Verhalten anzupassen, kann eine abgeleitete Klasse eine nicht-standardmäßige Klassifizierungstabelle dem Basisklassenkonstruktor bereitstellen.

Beispiel

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 28 C++98 Überladung (2) kopierte die Werte von vec in table ( ) ,
was umgekehrt zum beabsichtigten Verhalten ist
korrigiert

Siehe auch

[virtual]
klassifiziert ein Zeichen oder eine Zeichenfolge
(geschützte virtuelle Memberfunktion von std::ctype<CharT> )