![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Iterator Based Generator APIBoost , Spirit 2.5.2 , Generator API
|
Имя |
---|
< |
< |
< |
< |
namespace boost { namespace spirit { namespace karma { template <typename OutputIterator, typename Expr> inline bool generate( OutputIterator& sink , Expr const& expr); template <typename OutputIterator, typename Expr , typename Attr1, typename Attr2, ..., typename AttrN> inline bool generate( OutputIterator& sink , Expr const& expr , Attr1 const& attr1, Attr2 const& attr2, ..., AttrN const& attrN); template <typename OutputIterator, typename Expr, typename Delimiter> inline bool generate_delimited( OutputIterator& sink , Expr const& expr , Delimiter const& delimiter , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit = delimit_flag::dont_predelimit); template <typename OutputIterator, typename Expr, typename Delimiter , typename Attr1, typename Attr2, ..., typename AttrN> inline bool generate_delimited( OutputIterator& sink , Expr const& expr , Delimiter const& delimiter , Attr1 const& attr1, Attr2 const& attr2, ..., AttrN const& attrN); template <typename OutputIterator, typename Expr, typename Delimiter , typename Attr1, typename Attr2, ..., typename AttrN> inline bool generate_delimited( OutputIterator& sink , Expr const& expr , Delimiter const& delimiter , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit , Attr1 const& attr1, Attr2 const& attr2, ..., AttrN const& attrN); }}}
![]() |
Note |
---|---|
Начиная сSpiritV2.5 (распределяется с Boost V1.47) заполнитель< |
Spirit.KarmaФункции генератора API, основанные на автоматическом создании соответствующего типа генератора:
namespace boost { namespace spirit { namespace karma { template <typename OutputIterator, typename Attr, typename Delimiter> inline bool generate_delimited( OutputIterator& sink , Attr const& attr , Delimiter const& delimiter , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit = delimit_flag::dont_predelimit); template <typename OutputIterator, typename Attr> inline bool generate( OutputIterator& sink , Attr const& attr); }}}
Все функции выше возвращают<true
>, если ни один из задействованных компонентов генератора не вышел из строя, и<false
>в противном случае. Если в процессе генерации выходного потока базовый выходной поток сообщает об ошибке, то значение возврата также будет<false
>.
Максимальное количество поддерживаемых аргументов ограничено константой препроцессора<SPIRIT_ARGUMENTS_LIMIT
>. Эта постоянная по умолчанию соответствует значению, определенному константой препроцессора<PHOENIX_LIMIT
>(которая, в свою очередь, по умолчанию равна<10
>).
![]() |
Note |
---|---|
Вариадные функции с двумя или более атрибутами внутренне объединяют (постоянные) ссылки на все переданные атрибуты в< |
Функции<generate_delimited
>, не принимающие явного<delimit_flag
>, как один из их аргументов, не вызывают принятый делимитер, прежде чем начать генерировать выход из экспрессии генератора. Это можно сделать, используя другую версию этой функции при переходе<delimit_flag::predelimit
>к соответствующему аргументу.
Параметр |
Описание |
---|---|
< |
< |
< |
50 Выражение, которое может быть преобразовано в генератор кармы. |
< |
Генератор используется для разграничения вывода компонентов выражения. |
< |
Тип атрибута, используемый для создания соответствующего типа генератора. |
< |
Один или несколько атрибутов. |
Статья Iterator Based Generator API раздела Spirit 2.5.2 Generator API может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator API ::
реклама |