![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Lazy Generator (lazy)Boost , Spirit 2.5.2 , Auxiliary Generators
|
Имя |
---|
< |
Notation
fg
Функция или объект функции, который оценивает объект генератора (объект, подвергающий).<Generator
>. Эта функция будет задействована во время генерации.
Подпись<fg
>ожидается
G f(Unused, Context)
где<G
>, возвращаемое значение функции, является типом генератора, на который следует ссылаться, и<Context
>является типом контекста генератора (первый аргумент<unused
>, чтобы сделать<Context
>вторым аргументом). Это делается для единообразиясемантических действий.
Семантика выражения определяется только там, где она отличается от или не определена в<Generator
>.
выражение |
Семантика |
---|---|
< | Объект функцииBoost.Phoenix< |
< | Функция или объект функции будут вызываться во время генерации. Ожидается, что он вернет экземпляр генератора (обратите внимание, что эта версия< |
выражение |
атрибут |
---|---|
< | Тип атрибута< |
< | Тип атрибута< |
Сложность компонента<lazy
>определяется сложностью генератора, возвращаемого из<fg
>.
![]() | 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>
Некоторые используют декларации:
namespace karma = boost::spirit::karma; using boost::spirit::karma::_1; using boost::spirit::ascii::string; using boost::phoenix::val;
Использование генератора<lazy
>:
test_generator_attr("abc", karma::lazy(val(string)), "abc"); test_generator("abc", karma::lazy(val(string))[_1 = "abc"]);
Статья Lazy Generator (lazy) раздела Spirit 2.5.2 Auxiliary Generators может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Auxiliary Generators ::
реклама |