![]() |
![]() ![]() ![]() ![]() |
![]() |
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 ::
реклама |