Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Traits Class Requirements

Boost , Boost.Regex 5.1.2 , Concepts

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Существует два набора требований к аргументу шаблона<traits><basic_regex>: минимальный интерфейс (который является частью предложения по стандартизации regex) и дополнительный расширенный интерфейс Boost.

Minimal requirements.

В следующей таблице<X>обозначает класс признаков, определяющий типы и функции для типа контейнера символов<charT>;uявляется объектом типа<X>;vявляется объектом типа<const X>;pявляется значением типа<constcharT*>;I1иI2являются итераторами ввода;cявляется значением типа<X::string_type>;csявляется объектом типа<const X::string_type>;bявляется значением типа<int>;Iявляется значением типа<int>;F1иF2являются значениями типа<const charT*>; иloc[

выражение

Тип возврата

Утверждение/Примечание Pre/ Пост состояние

X::char_type

Шарт

Тип контейнера символов, используемый при реализации шаблона класса basic_regex.

X::size_type

Неподписанный целочисленный тип, способный удерживать длину нулевой строки charT.

X::string_type

std::basic_stringили std::vector

X::locale_type

Осуществление определено

Копируемый тип, который представляет собой область, используемую классом признаков.

X::char_class_type

Осуществление определено

Тип битмаски, представляющий определенную классификацию символов. Множественные значения этого типа могут быть побиты или сведены вместе для получения нового действительного значения.

X::длина(p)

X::size_type

Доходность наименьшего i такова, что p[i] == Сложность линейна в 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_classname(F1, F2)

X::char_class_type

Преобразует последовательность символов, обозначенную диапазоном итераторов [F1,F2], в тип битмаски, который впоследствии может быть передан в истип. Значения, возвращенные из lookup_classname, могут быть безопасно битовыми или объединенными. Возвращается 0, если последовательность символов не является именем класса символов, распознаваемого X. Возвращенная стоимость должна быть независимой от символов в последовательности.

v.lookup_collatename(F1, F2)

X::string_type

Возвращает последовательность символов, которая представляет коллаирующий элемент, состоящий из последовательности символов, обозначенной диапазоном итераторов [F1, F2). Возвращает пустую строку, если последовательность символов не является действительным коллаирующим элементом.

v.isctype (c, v.lookup_classname (F1, F2))

Бол

Возвращается истинным, если символ c является членом класса символов, обозначенного диапазоном итераторов [F1, F2), ложным в противном случае.

v.value(c, I)

int

Возвращает значение, представленное цифрой c в основании I, если символ c является действительной цифрой в основании I; в противном случае возвращается -1. [Примечание: значение I будет только 8, 10 или 16.] - конец примечания]

u.imbue(loc)

X::locale_type

Имбуты u с локальным локомотивом возвращают предыдущую локализацию, используемую u, если таковая имеется.

v.getloc()

X::locale_type

Возвращает текущее местоположение, используемое v, если таковое имеется.

Additional Optional Requirements

Следующие дополнительные требования являются строго факультативными, однако для<basic_regex>, чтобы воспользоваться этими дополнительными интерфейсами, должны быть выполнены все следующие требования;<basic_regex>будет обнаруживать присутствие или отсутствие элемента<boost_extensions_tag>и соответствующим образом настраивать себя.

выражение

Результат

Утверждение/Примечание Pre/ Пост состояние

X::boost_extensions_tag

Неопределенный тип.

При наличии все расширения, перечисленные в этой таблице, должны присутствовать.

v.syntax_type(c)

regex_constants::syntax_type

Возвращает символическое значение типа regex_constants::syntax_type, которое обозначает значение символа c в грамматике регулярного выражения.

v.escape_syntax_type(c)

regex_constants::escape_syntax_type

Возвращает символическое значение типа regex_constants::escape_syntax_type, означающее значение символа c в грамматике регулярного выражения, когда c предшествует символ побега. Предусловие: если b — символ, предшествующий c в разборе выражения, то:<v.syntax_type(b)== syntax_escape>

v.translate(c, b)

X::char_type

Возвращает символ d таким образом, что: для любого символа d, который должен считаться эквивалентным c, тогда<v.translate(c,false)==v.translate(d,false)>. Аналогично для всех персонажей C, которые должны считаться эквивалентными c, когда сравнения должны выполняться без учета случая, тогда<v.translate(c,true)==v.translate(C,true)>

.

v.toi(I1, I2, i)

An integer type capable of holding either a charT or an int.

Ведет себя следующим образом: если<p ==q>или<*p>не является цифровым символом, то возвращается -1. В противном случае выполняется отформатированный численный вход на последовательность [p,q] и возвращает результат в виде int. Постусловие: p == q или *p — нецифровой символ.

v.error_string(I)

std::string

Возвращает читабельную строку ошибки для состояния ошибки i, где i является одним из значений, перечисленных типом regex_constants::error_type. Если значениеIне распознано, то возвращается строка «Неизвестная ошибка» или локализованный эквивалент.

v.tolower(c)

X::char_type

Преобразует c в нижний регистр, используемый для операций форматирования в стиле Perl \l и \L.

v.toupper(c)

X::char_type

Преобразует c в верхний корпус, используемый для операций форматирования в стиле Perl \u и \U.


PrevUpHomeNext

Статья Traits Class Requirements раздела Boost.Regex 5.1.2 Concepts может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Concepts ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:45:21/0.02688193321228/1