![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Attribute Parser (attr)Boost , Spirit 2.5.2 , Auxiliary Parsers
|
Имя |
---|
|
Notation
a
Произвольное постоянное значение типа, например, 0.0, "Hello", или переменная произвольного типа или Lazy Argument, которая оценивает до произвольного типа.
A
Тип a
или если это Lazy Argument, его тип возврата.
Semantics of an expression is defined only where it differs from, or is not defined in PrimitiveParser
.
Выражение |
Семантика |
---|---|
attr(a) | Создайте псевдо-парсер, обнажающий текущее значение |
Выражение |
Attribute |
---|---|
attr(a) | A |
O(1)
Сложность постоянна, так как не потребляется никаких входов и никакого соответствия не делается.
![]() | Note |
---|---|
Испытательный узел для примера (примеров) ниже представлен в разделе Basics examples. |
Некоторые используют заявления:
namespace phx = boost::phoenix; using boost::spirit::qi::attr;
Используя attr
с литературами:
std::string str; test_parser_attr("", attr("boost"), str); std::cout << str << std::endl; // will print 'boost' double d; test_parser_attr("", attr(1.0), d); std::cout << d << std::endl; // will print '1.0'
Используя attr
с Фоникс объектов функции:
d = 0.0; double d1 = 1.2; test_parser_attr("", attr(phx::ref(d1)), d); std::cout << d << std::endl; // will print '1.2'
Статья Attribute Parser (attr) раздела Spirit 2.5.2 Auxiliary Parsers может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Auxiliary Parsers ::
реклама |