![]() |
![]() ![]() ![]() ![]() |
![]() |
Epsilon Generator (eps)Boost , Spirit 2.5.2 , Auxiliary Generators
|
|||||||||||||||||||||||||||
|
Имя |
|---|
< |
Notation
bБулева ценность.
fbЛенивый аргумент, который оценивается до булевого значения.
Семантика выражения определяется только там, где она отличается от или не определена в<PrimitiveGenerator>.
|
выражение |
Семантика |
|---|---|
< | Создает компонент, генерирующий пустую строку. Успех всегда. |
< | Создает компонент, генерирующий пустую строку. Если< |
< | Создает компонент, генерирующий пустую строку. Успешно, если< |
|
выражение |
атрибут |
|---|---|
< | < |
< | < |
< | < |
O(1)
Сложность постоянна, поскольку выход не генерируется.
![]() | Note |
|---|---|
Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры. |
Некоторые включают:
#include <boost/spirit/include/karma.hpp> #include <boost/spirit/include/support_utree.hpp> #include <boost/spirit/include/phoenix_core.hpp> #include <boost/spirit/include/phoenix_operator.hpp> #include <boost/fusion/include/std_pair.hpp> #include <iostream> #include <string>
Некоторые используют декларации:
using boost::spirit::karma::eps; using boost::phoenix::val;
Использование генератора<eps>:
test_generator("abc", eps[std::cout << val("starting eps example")] << "abc"); test_generator("abc", eps(true) << "abc"); test_generator("", eps(false) << "abc"); // fails as eps expression is 'false'
Статья Epsilon Generator (eps) раздела Spirit 2.5.2 Auxiliary Generators может быть полезна для разработчиков на c++ и boost.
:: Главная :: Auxiliary Generators ::
реклама |