C++ benannte Anforderungen: RegexTraits (seit C++11)
Von cppreference.com
< cpp | benannte req
RegexTraits ist eine Traits-Klasse, die Operationen abstrahiert, die für einen gegebenen Zeichentyp als Template-Typparameter für std::basic_regex benötigt werden.
[bearbeiten] 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
| expression | Rückgabetyp | Semantik |
|---|---|---|
| X::char_type | CharT | Wird verwendet, um sich auf den Zeichentyp zu beziehen. |
| X::string_type | std::basic_string<CharT> | |
| X::locale_type | Ein CopyConstructible-Typ, der die von der Traits-Klasse verwendete Locale repräsentiert. | |
| X::char_class_type | Ein BitmaskType-Typ, der eine bestimmte Zeichenklassifizierung darstellt. | |
| X::length(p) | std::size_t | Gibt zurück: Das kleinste i, so dass p[i] = 0. Komplexität ist linear in i. |
| v.translate(c) | X::char_type | Gibt zurück: Ein Zeichen, so dass 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, gilt: v.translate_nocase(c) = v.translate_nocase(C). |
| v.transform(F1, F2) | X::string_type | Gibt zurück: Ein Sortierschlüssel für die durch den Iteratorbereich [F1, F2) bezeichnete Zeichensequenz, so dass gilt: Wenn die Zeichensequenz [G1, G2) vor der Zeichensequenz [H1, H2) sortiert wird, dann gilt v.transform(G1, G2) < v.transform(H1, H2). |
| v.transform_primary(F1, F2) | X::string_type | Gibt zurück: Ein Sortierschlüssel für die durch den Iteratorbereich [F1, F2) bezeichnete Zeichensequenz, so dass gilt: Wenn die Zeichensequenz [G1, G2) vor der Zeichensequenz [H1, H2) ohne Berücksichtigung der Groß-/Kleinschreibung sortiert wird, dann gilt v.transform_primary(G1, G2) < v.transform_primary(H1, H2). |
| v.lookup_collatename(F1, F2) | X::string_type | Gibt zurück
|
| v.lookup_classname(F1, F2, b) | X::char_class_type |
|
| 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 | Gibt zurück
|
| u.imbue(loc) | X::locale_type |
|
| v.getloc() | X::locale_type | Gibt zurück: Die zuvor von v verwendete Locale, falls vorhanden. |
[bearbeiten] 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) |
|