![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Generator Directive Separating Output Into Columns (columns[])Boost , Spirit 2.5.2 , Generator Directives
|
Имя |
---|
boost::spirit::columns //
alias: boost::spirit::karma::columns |
Notation
a
Объект генератора
g
Объект-генератор, илиЛенивый Аргумент, который оценивает объект-генератор, будет использоваться для излучения колоночных сепараторов.
A
Буквальное число, любое неподписанное целое число или ленивый аргумент, который оценивает неподписанное целое число, определяющее количество предметов, выделяемых между разделителями столбца.
Семантика выражения определяется только там, где она отличается от или не определена в<UnaryGenerator
>.
выражение |
Семантика |
---|---|
< | columns
директива вызывает генератор после каждого элемента N
встроенный генератор был выброшен. Число столбцов
определяется константой препроцессора BOOST_KARMA_DEFAULT_COLUMNS .
Используемый разделитель столба будет karma::eol .
|
columns(num)[a] | columns
директива вызывает генератор после каждого элемента N
встроенный генератор был выброшен. Число столбцов
определяется аргументом к директиве num .
Используемый разделитель столба будет karma::eol .
|
columns(g)[a] | columns
директива вызывает генератор после каждого элемента N
встроенный генератор был выброшен. Число столбцов
определяется константой препроцессора BOOST_KARMA_DEFAULT_COLUMNS .
Используемый разделитель столба будет g .
|
columns(num,
g)[a] | Директива< |
См.Составные обозначения атрибутов.
выражение |
атрибут |
---|---|
< |
a: A --> columns[a]: A a: Unused --> columns[a]: Unused
|
columns(num)[a] | a: A --> columns(num)[a]: A a: Unused --> columns(num)[a]: Unused |
columns(g)[a] | a: A --> columns(g)[a]: A a: Unused --> columns(g)[a]: Unused |
columns(num,
g)[a] | a: A --> columns(num, g)[a]: A a: Unused --> columns(num, g)[a]: Unused |
Общая сложность директивы<
columns
>генератора зависит от сложности встроенного генератора. Сложность самой директивы генератора<columns
>— 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::columns; using boost::spirit::karma::space;
Использование генераторов<columns
>:
std::vector<double> v; v.push_back(1.0); v.push_back(2.0); v.push_back(3.0); test_generator_attr("1.0\n2.0\n3.0\n", columns(1)[*double_], v); test_generator_attr_delim("1.0 2.0 \n3.0 \n", columns(2)[*double_], space, v);
Статья Generator Directive Separating Output Into Columns (columns[]) раздела Spirit 2.5.2 Generator Directives может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Generator Directives ::
реклама |