![]() |
![]() ![]() ![]() ![]() |
![]() |
Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[])Boost , Spirit 2.5.2 , Generator Directives
|
|||||||||||||||||||||||||||||||||
|
Имя |
|---|
boost::spirit::verbatim //
alias: boost::spirit::karma::verbatim |
boost::spirit::no_delimit //
alias: boost::spirit::karma::no_delimit |
boost::spirit::delimit //
alias: boost::spirit::karma::delimit |
Notation
aОбъект генератора
dОбъект-генератор или Ленивый аргумент , который оценивает объект-генератор
A, DСемантика выражения определяется только там, где она отличается от или не определена в UnaryGenerator.
|
Выражение |
Семантика |
|---|---|
delimit[a] | Включить автоматическое разграничение для встроенного генератора |
delimit(d)[a] | |
verbatim[a] | |
| Отключить автоматическое разграничение для встроенного генератора |
См. Сложная нотация атрибутов.
|
Выражение |
Атрибут |
|---|---|
delimit[a] | a: A --> delimit[a]: A a: Unused --> delimit[a]: Unused a: A --> delimit[a]: A a: Unused --> delimit[a]: Unused [ORIG_END] --> |
delimit(d)[a] | a: A, d: D --> delimit(d)[a]: A a: Unused, d: D --> delimit(d)[a]: Unused a: A, d: D --> delimit(d)[a]: A a: Unused, d: D --> delimit(d)[a]: Unused [ORIG_END] --> |
verbatim[a] |
a: A --> verbatim[a]: A a: Unused --> verbatim[a]: Unused
|
| a: A --> no_delimit[a]: A a: Unused --> no_delimit[a]: Unused a: A --> no_delimit[a]: A a: Unused --> no_delimit[a]: Unused [ORIG_END] --> |
Общая сложность директив генератора
delimit[],verbatim[]иno_delimit[]определяется сложностью его встроенных генераторов. Сложность самих директив — O(1).
![]() | Note |
|---|---|
Испытательный ремень для примера (примеров) ниже представлен в разделе Основные примеры. |
Некоторые включают:
#include <boost/spirit/include/karma.hpp> #include <iostream> #include <string>
Некоторые используют декларации:
using boost::spirit::karma::double_; using boost::spirit::karma::delimit; using boost::spirit::karma::verbatim;
Основное использование директивы генератора delimit:
test_generator_attr("[ 2.0 , 4.3 ] ", delimit['[' << double_ << ',' << double_ << ']'], 2.0, 4.3); test_generator_attr("[*2.0*,*4.3*]*", delimit('*')['[' << double_ << ',' << double_ << ']'], 2.0, 4.3); test_generator_attr("[2.0, 4.3 ] ", delimit[verbatim['[' << double_ << ','] << double_ << ']'], 2.0, 4.3);
Статья Generator Directives Controlling Automatic Delimiting (verbatim[], no_delimit[], delimit[]) раздела Spirit 2.5.2 Generator Directives может быть полезна для разработчиков на c++ и boost.
:: Главная :: Generator Directives ::
реклама |