![]() |
![]() ![]() ![]() ![]() |
![]() |
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 ::
реклама |