std::text_encoding::comp-name
Von cppreference.com
< cpp | text | text encoding
| static constexpr bool /*comp-name*/( std::string_view a, std::string_view b ); |
(seit C++26) (nur Exposition*) |
|
Vergleicht zwei Strings a und b, die in der gewöhnlichen Literal-Kodierung gemäß den Unicode Charset Alias Matching-Regeln kodiert sind.
Zwei Strings werden als gleich betrachtet, wenn sie von links nach rechts verglichen werden, nachdem
- alle nicht-alphanumerischen Zeichen entfernt wurden,
- alle Buchstaben in dieselbe Groß-/Kleinschreibung umgewandelt wurden und
- alle isolierten Sequenzen von '0'-Zeichen entfernt wurden, die nicht unmittelbar auf ein numerisches Präfix folgen. Ein numerisches Präfix besteht aus einer Ziffer ungleich Null ('1' bis '9'), gefolgt von optional einem oder mehreren nicht-alphanumerischen Zeichen.
Hier sind die folgenden Beispiele
static_assert(/*comp-name*/("UTF-8", "utf8") == true); static_assert(/*comp-name*/("u.t.f-008", "utf8") == true); static_assert(/*comp-name*/("ISO-8859-1", "iso88591") == true); static_assert(/*comp-name*/("ut8", "utf8") == false); static_assert(/*comp-name*/("utf-80", "utf8") == false);
[bearbeiten] Parameter
| a, b | - | zu vergleichende Strings |
[bearbeiten] Rückgabewert
true, wenn die beiden Strings wie oben beschrieben gleich verglichen werden; andernfalls false.