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