![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Stream Based Generator APIBoost , Spirit 2.5.2 , Generator API
|
Имя |
---|
|
|
|
|
namespace boost { namespace spirit { namespace karma { template <typename Expr> inline <unspecified> format( Expr const& xpr); template <typename Expr , typename Attr1, typename Attr2, ..., typename AttrN> inline <unspecified> format( Expr const& xpr , Attr1 const& attr1, Attr2 const& attr2, ..., AttrN const& attrN); template <typename Expr, typename Delimiter> inline <unspecified> format_delimited( Expr const& expr , Delimiter const& d , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit = delimit_flag::dont_predelimit); template <typename Expr, typename Delimiter , typename Attr1, typename Attr2, ..., typename AttrN> inline <unspecified> format_delimited( Expr const& expr , Delimiter const& d , Attr1 const& attr1, Attr2 const& attr2, ..., AttrN const& attrN); template <typename Expr, typename Delimiter , typename Attr1, typename Attr2, ..., typename AttrN> inline <unspecified> format_delimited( Expr const& expr , Delimiter const& d , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit , Attr1 const& attr1, Attr2 const& attr2, ..., AttrN const& attrN); }}}
Дух. КармаФункции генератора API на основе автоматического создания соответствующего типа генератора:
namespace boost { namespace spirit { namespace karma { template <typename Attr, typename Delimiter> inline <unspecified> format_delimited( Attr const& attr , Delimiter const& d , BOOST_SCOPED_ENUM(delimit_flag) pre_delimit = delimit_flag::dont_predelimit); template <typename Attr> inline <unspecified> format( Attr const& xpr); }}}
Все вышеперечисленные функции возвращают стандартный экземпляр потокового манипулятора ввода-вывода (см.Манипуляторы), который при потоковой передаче на выходной поток приведет к генерации выходного сигнала, испускаемого встроеннымДухом. Кармаэкспрессия генератора. Любые ошибки, возникающие во время призыва Духа. Генераторы кармыбудут отражены в флаге состояния потоковstd::ios_base::будет установлен отказоустойчивый
.
Максимальное количество поддерживаемых аргументов ограничено константой препроцессораSPIRIT_ARGUMENTS_LIMIT
. Эта постоянная по умолчанию соответствует значению, определенному константой препроцессораPHOENIX_LIMIT
(которая, в свою очередь, по умолчанию соответствует10
).
![]() |
Note |
---|---|
Вариадные манипуляторы с двумя или более атрибутами внутренне объединяют (постоянные) ссылки на все переданные атрибуты в |
Формат_ограниченный
манипуляторы, не принимающие явногоdelimit_flag
в качестве одного из своих аргументов, не вызывают принятый делимитер перед началом генерации вывода из экспрессии генератора. Это можно сделать, используя другую версию этого манипулятора при прохожденииdelimit_flag:предопределить
соответствующему аргументу.
Параметр |
Описание |
---|---|
|
174 Выражение, которое может быть преобразовано в генератор кармы. |
|
Генератор, используемый для разграничения вывода компонентов выражения. |
|
Тип атрибута, используемый для создания соответствующего типа генератора. |
|
Один или несколько атрибутов. |
Статья Stream Based Generator API раздела Spirit 2.5.2 Generator API может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator API ::
реклама |