Namensräume
Varianten
Aktionen

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.