![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Generator Directive for Temporary Output Buffering (buffer[])Boost , Spirit 2.5.2 , Generator Directives
|
Имя |
---|
boost::spirit::buffer //
alias: boost::spirit::karma::buffer |
Notation
a
Объект генератора
A
Семантика выражения определяется только там, где она отличается от или не определена в<UnaryGenerator
>.
выражение |
Семантика |
---|---|
buffer[a] |
![]() | Tip |
---|---|
Если вы хотите добиться успеха буферизованного генератора независимо от результата встроенного генератора, просто заверните< |
См.Составные обозначения атрибутов.
выражение |
атрибут |
---|---|
buffer[a] | a: A --> buffer[a]: A a: Unused --> buffer[a]: Unused |
Общая сложность директивы буферного генератора определяется сложностью встроенного генератора. Сложность самого генератора директив буферизации — O(N), где N — количество буферизованных символов.
![]() | Note |
---|---|
Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры. |
Некоторые включают:
#include <boost/spirit/include/karma.hpp> #include <boost/spirit/include/support_utree.hpp> #include <boost/spirit/include/phoenix_core.hpp> #include <boost/spirit/include/phoenix_operator.hpp> #include <boost/fusion/include/std_pair.hpp> #include <iostream> #include <string>
Некоторые используют декларации:
using boost::spirit::karma::double_; using boost::spirit::karma::buffer;
Основное использование директивы буферного генератора. Он показывает, как частичный выход, генерируемый в первом примере, не отображается в генерируемом выходе, поскольку генератор плюс выходит из строя (нет данных, см.Plus (унитарный<+
>)).
std::vector<double> v; // empty container test_generator_attr("", -buffer['[' << +double_ << ']'], v); v.push_back(1.0); // now, fill the container v.push_back(2.0); test_generator_attr("[1.02.0]", buffer['[' << +double_ << ']'], v);
Статья Generator Directive for Temporary Output Buffering (buffer[]) раздела Spirit 2.5.2 Generator Directives может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator Directives ::
реклама |