![]() |
![]() ![]() ![]() ![]() |
![]() |
Directive Testing if Parser Succeeded (matches[])Boost , Spirit 2.5.2 , Parser Directives
|
|||||||||||||||||||
|
Имя |
|---|
< |
Notation
aСемантика выражения определяется только там, где она отличается от или не определена в<UnaryParser>.
|
выражение |
Семантика |
|---|---|
< | Исполните парсер< |
|
выражение |
атрибут |
|---|---|
< | < |
Сложность определяется сложностью предмета парсера<
a>.
![]() | Note |
|---|---|
Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры. |
Некоторые используют декларации:
using boost::spirit::qi::matches; using boost::spirit::qi::int_;
Этот парсер пытается сопоставить<int>и возвращает<true>свой атрибут, поскольку ему удалось сопоставить:
bool result = false; test_parser_attr("345", matches[int_], result); std::cout << std::boolalpha << result << std::endl; // should print: true
Этот парсер также пытается соответствовать<int>и возвращает<false>в качестве своего атрибута, поскольку он не соответствует:
result = true; test_parser_attr("abc", matches[int_], result); std::cout << std::boolalpha << result << std::endl; // should print: false
Статья Directive Testing if Parser Succeeded (matches[]) раздела Spirit 2.5.2 Parser Directives может быть полезна для разработчиков на c++ и boost.
:: Главная :: Parser Directives ::
реклама |