Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Generator Directives Controlling the Maximum Field Width (maxwidth[])

Boost , Spirit 2.5.2 , Generator Directives

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext
Description

Директива<maxwidth[]>позволяет ограничить (урезать) общую длину вывода, генерируемого встроенным генератором.

Header
// forwards to <boost/spirit/home/karma/directive/maxwidth.hpp>
#include <boost/spirit/include/karma_maxwidth.hpp>

См. такжеВключите структуру.

Имя

<boost::spirit::maxwidth// alias: boost::spirit::karma::maxwidth>

Model of

Notation

a

Объект генератора

A

Тип атрибута генератора<a>

num

Буквальное число, любое неподписанное целое число или ленивый аргумент, оценивающий неподписанное целое число

Expression Semantics

Семантика выражения определяется только там, где она отличается от или не определена в<UnaryGenerator>.

выражение

Семантика

<maxwidth[a]>

Ограничить общую длину испускаемого выхода встроенного генератора (включая символы, генерируемые автоматическим разграничением) количеством символов, как определено константой препроцессора<BOOST_KARMA_DEFAULT_FIELD_MAXWIDTH>. Любой дополнительный выход усечен. Директива работает до тех пор, пока встроенный генератор работает (если основной выходной поток не сообщает об ошибке).

<maxwidth(num)[a]>

Ограничьте общую длину испускаемого выхода встроенного генератора (включая символы, генерируемые автоматическим разграничением) количеством символов, определенным<num>. Любой дополнительный выход усечен. Директива работает до тех пор, пока встроенный генератор работает (если основной выходной поток не сообщает об ошибке).

[Note]Note

Директива<maxwidth[]>генератора не настраивает генерируемый выход для заполнения указанной ширины колонки. Если испускаемый выход короче указанной (или подразумеваемой) ширины колонки, генерируемый выход будет более узким, чем ширина колонки.

Если выходной сигнал всегда должен быть равен заданной ширине колонки, используйте одну из директив выравнивания<left-align[]>,<center[]>или<right_align[]>, например:

maxwidth(8)[left_align(8)["1234"]]

<"1234 ">(без кавычек).

Attributes

См.Составные обозначения атрибутов.

выражение

атрибут

<maxwidth[a]>

<
a:A-->maxwidth[a]:A
a:Unused-->maxwidth[a]:Unused
>

<maxwidth(num)[a]>

<
a:A-->maxwidth(num)[a]:A
a:Unused-->maxwidth(num)[a]:Unused
>

Complexity

Общая сложность директивы генератора<maxwidth[]>определяется сложностью его встроенного генератора. Сложность самой директивы — O(N), где<N>— количество символов, генерируемых директивой maxwidth.

Example
[Note]Note

Тестовый ремень для примера (примеров) ниже представлен в разделеОсновные примеры.

Некоторые включают:

#include <boost/spirit/include/karma.hpp>
#include <iostream>
#include <string>

Некоторые используют декларации:

using boost::spirit::karma::double_;
using boost::spirit::karma::maxwidth;
using boost::spirit::karma::left_align;
using boost::spirit::karma::right_align;

Основное использование<maxwidth>директивы генератора:

test_generator("01234", maxwidth(5)["0123456789"]);
test_generator("  012", maxwidth(5)[right_align(12)["0123456789"]]);
test_generator("0123    ", maxwidth(8)[left_align(8)["0123"]]);


PrevUpHomeNext

Статья Generator Directives Controlling the Maximum Field Width (maxwidth[]) раздела Spirit 2.5.2 Generator Directives может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Generator Directives ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:42:31/0.0062201023101807/1