Spec-Zone.ru › C++

Требования к C++: RegexTraits (с C++11)

RegexTraits — это класс-трейт, который абстрагирует операции, необходимые для заданного типа символа, когда он используется в качестве параметра шаблона для std::basic_regex.

Требования

Дано

  • CharT, тип символа
  • X, тип RegexTraits для типа CharT
  • u, объект типа X
  • v, объект типа const X
  • p, значение типа const CharT*
  • I1, I2, итераторы ввода
  • F1, F2, итераторы вперед
  • c, значение типа const CharT
  • s, объект типа X::string_type
  • cs, объект типа const X::string_type
  • b, значение типа bool
  • I, значение типа int
  • cl, объект типа X::char_class_type
  • loc, объект типа X::locale_type
выражение тип возврата семантика
X::char_type CharT Используется для ссылки на тип символа.
X::string_type std::basic_string<CharT>
X::locale_type Тип CopyConstructible, представляющий локаль, используемую классом-трейтом.
X::char_class_type Тип BitmaskType, представляющий конкретную классификацию символов.
X::length(p) std::size_t Возвращает: наименьший i, такой что p[i] == 0. Сложность — линейная относительно i.
v.translate(c) X::char_type Возвращает: символ, такой что для любого символа d, считающегося эквивалентным c, тогда v.translate(c) == v.translate(d).
v.translate_nocase(c) X::char_type Возвращает: символ, такой что для любого символа C, считающегося эквивалентным c без учета регистра, тогда v.translate_nocase(c) == v.translate_nocase(C).
v.transform(F1, F2) X::string_type Возвращает: ключ сортировки для последовательности символов, обозначенной диапазоном итераторов [F1, F2), такой что если последовательность символов [G1, G2) сортируется раньше последовательности символов [H1, H2), тогда v.transform(G1, G2) < v.transform(H1, H2).
v.transform_primary(F1, F2) X::string_type Возвращает: ключ сортировки для последовательности символов, обозначенной диапазоном итераторов [F1, F2), такой что если последовательность символов [G1, G2) сортируется раньше последовательности символов [H1, H2) без учета регистра, тогда v.transform_primary(G1, G2) < v.transform_primary(H1, H2).
v.lookup_collatename(F1, F2) X::string_type Возвращает:
  • пустую строку, если последовательность символов не является допустимым элементом сортировки
  • последовательность символов, представляющую элемент сортировки, состоящий из последовательности символов, обозначенной диапазоном итераторов [F1, F2), в противном случае
v.lookup_classname(F1, F2, b) X::char_class_type
  • Преобразует последовательность символов, обозначенную диапазоном итераторов [F1, F2), в значение типа BitmaskType, которое затем может быть передано в isctype
  • Значения, возвращаемые из lookup_classname, могут быть побитово объединением; полученное значение представляет принадлежность к любому из соответствующих классов символов
  • Если b истинно, возвращаемая битовая маска подходит для сопоставления символов без учета их регистра.
  • Возвращает ​0​, если последовательность символов не является именем класса символов, распознанного X.
  • Возвращаемое значение не зависит от регистра символов в последовательности.
v.isctype(c, cl) bool Возвращает: является ли c членом одного из классов символов, обозначенных cl, или нет.
v.value(c, I) int Возвращает:
  • значение, представляемое цифрой c в системе счисления I, если символ c является допустимой цифрой в системе счисления I
  • -1 в противном случае
u.imbue(loc) X::locale_type
  • Назначает u локаль loc
  • Возвращает: предыдущую локаль, используемую u, если таковая есть
v.getloc() X::locale_type Возвращает: предыдущую локаль, используемую v, если таковая есть.

Стандартная библиотека

RegexTraits удовлетворяется следующими классами стандартной библиотеки:

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/named_req/RegexTraits

Spec-Zone.ru

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