![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Not-Predicate Generator (!a)Boost , Spirit 2.5.2 , Generator Operators
|
выражение |
Семантика |
---|---|
< |
Не генератор реализуется путем перенаправления всего вывода, производимого его встроенным генератором, в устройство сброса.
Видишь?Составная нотация атрибутов.
выражение |
атрибут |
---|---|
!a
(не-прецедентный, неарочный ! )
| a:
A -->
!a: A |
![]() | Note |
---|---|
Атрибут не-предиката не всегда< |
Общая сложность генератора без предикатов определяется сложностью его встроенного генератора. Сложность самого генератора непредикатов составляет 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::double_; using boost::spirit::karma::ascii::char_; using boost::spirit::karma::ascii::string; using boost::phoenix::ref;
Основное использование генератора без предикатов:
test_generator_attr("c", !char_('a') << 'b' | 'c', 'a'); test_generator_attr("b", !char_('a') << 'b' | 'c', 'x'); test_generator_attr("def", !string("123") << "abc" | "def", "123"); test_generator_attr("abc", !string("123") << "abc" | "def", "456");
Статья Not-Predicate Generator (!a) раздела Spirit 2.5.2 Generator Operators может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator Operators ::
реклама |