Namespaces
Variants

C++ named requirements: RegexTraits (since C++11)

From cppreference.net
C++ named requirements

RegexTraits ist eine Traits-Klasse, die Operationen abstrahiert, die für einen gegebenen Zeichentyp benötigt werden, wenn sie als Template-Typparameter für std:: basic_regex verwendet werden.

Anforderungen

Gegeben

  • CharT , ein Zeichentyp
  • X , ein RegexTraits -Typ für den Typ CharT
  • u , ein Objekt vom Typ X
  • v , ein Objekt vom Typ const X
  • p , ein Wert vom Typ const CharT *
  • I1, I2 , Eingabe-Iteratoren
  • F1, F2 , Vorwärts-Iteratoren
  • c , ein Wert vom Typ const CharT
  • s , ein Objekt vom Typ X :: string_type
  • cs , ein Objekt vom Typ const X :: string_type
  • b , ein Wert vom Typ bool
  • I , ein Wert vom Typ int
  • cl , ein Objekt vom Typ X :: char_class_type
  • loc , ein Objekt vom Typ X :: locale_type


Ausdruck Rückgabetyp Semantik
X :: char_type CharT Wird verwendet, um auf den Zeichentyp zu verweisen.
X :: string_type std:: basic_string < CharT >
X :: locale_type Ein CopyConstructible Typ, der das von der Traits-Klasse verwendete Locale repräsentiert.
X :: char_class_type Ein BitmaskType Typ, der eine bestimmte Zeichenklassifikation repräsentiert.
X :: length ( p ) std:: size_t Gibt zurück: den kleinsten Wert i für den p [ i ] == 0 gilt. Die Komplexität ist linear in i .
v. translate ( c ) X :: char_type Rückgabewert: Ein Zeichen, für das gilt: Für jedes Zeichen d , das als äquivalent zu c betrachtet wird, gilt v. translate ( c ) == v. translate ( d ) .
v. translate_nocase ( c ) X :: char_type Gibt zurück: ein Zeichen, so dass für jedes Zeichen C das als äquivalent zu c ohne Berücksichtigung der Groß-/Kleinschreibung betrachtet wird, dann v. translate_nocase ( c ) == v. translate_nocase ( C ) .
v. transform ( F1, F2 ) X :: string_type Gibt zurück: einen Sortierschlüssel für die durch den Iteratorbereich [ F1, F2 ) bezeichnete Zeichenfolge, sodass wenn die Zeichenfolge [ G1, G2 ) vor der Zeichenfolge [ H1, H2 ) sortiert wird, dann v. transform ( G1, G2 ) < v. transform ( H1, H2 ) .
v. transform_primary ( F1, F2 ) X :: string_type Gibt zurück: einen Sortierschlüssel für die durch den Iteratorbereich [ F1, F2 ) bezeichnete Zeichenfolge, so dass wenn die Zeichenfolge [ G1, G2 ) vor der Zeichenfolge [ H1, H2 ) ohne Berücksichtigung der Groß-/Kleinschreibung sortiert wird, dann v. transform_primary ( G1, G2 ) < v. transform_primary ( H1, H2 ) .
v. lookup_collatename ( F1, F2 ) X :: string_type Rückgabe:
  • Ein leerer String, falls die Zeichenfolge kein gültiges Sortierelement ist
  • Eine Zeichensequenz, die das Sortierelement repräsentiert, bestehend aus der durch den Iteratorbereich [ F1, F2 ) bezeichneten Zeichensequenz, andernfalls
v. lookup_classname ( F1, F2, b ) X :: char_class_type
  • Wandelt die durch den Iteratorbereich [ F1, F2 ) bezeichnete Zeichenfolge in einen Wert eines BitmaskType um, der anschließend an isctype übergeben werden kann
  • Von lookup_classname zurückgegebene Werte können bitweise ODER-verknüpft werden; der resultierende Wert repräsentiert die Zugehörigkeit zu einer der entsprechenden Zeichenklassen
  • Wenn b true ist, ist die zurückgegebene Bitmaske für den Abgleich von Zeichen unabhängig von ihrer Groß-/Kleinschreibung geeignet.
  • Gibt 0 zurück, wenn die Zeichenfolge kein von X erkannter Name einer Zeichenklasse ist.
  • Der zurückgegebene Wert soll unabhängig von der Groß-/Kleinschreibung der Zeichen in der Sequenz sein.
v. isctype ( c, cl ) bool Gibt zurück: ob c ein Mitglied einer der durch cl bezeichneten Zeichenklassen ist oder nicht.
v. value ( c, I ) int Rückgabewert:
  • Der durch die Ziffer c in Basis I dargestellte Wert, falls das Zeichen c eine gültige Ziffer in Basis I ist
  • - 1 andernfalls
u. imbue ( loc ) X :: locale_type
  • Versieht u mit dem Gebietsschema loc
  • Rückgabewert: Das vorherige von u verwendete Gebietsschema, falls vorhanden
v. getloc ( ) X :: locale_type Rückgabewert: Die vorherige von v verwendete Locale, falls vorhanden.


Standardbibliothek

RegexTraits wird von den folgenden Standardbibliotheksklassen erfüllt:

template <> class regex_traits < char > ;
template <> class regex_traits < wchar_t > ;
(seit C++11)
(seit C++11)