Spec-Zone.ru › C++

std::text_encoding::comp-name

static constexpr bool /*comp-name*/( std::string_view a, std::string_view b );
(с C++26)
(только для иллюстрации*)

Сравнивает две строки a и b, закодированные в обычной кодировке литералов, согласно правилам сопоставления псевдонимов наборов символов Unicode.

Две строки считаются равными при сравнении слева направо после выполнения следующих действий:

  • удаления всех не буквенно-цифровых символов,
  • приведения всех букв к одному регистру и
  • удаления всех отдельных последовательностей символов '0', за которыми непосредственно не следует числовой префикс. Числовой префикс состоит из ненулевой цифры (от '1' до '9'), за которой может следовать один или несколько не буквенно-цифровых символов.

Примеры:

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);

Параметры

a, b - строки для сравнения

Возвращаемое значение

true, если две строки равны согласно описанным выше правилам; в противном случае — false.

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/text/text_encoding/comp-name

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API