типографский класс, который позволяет безопасное и локальное форматирование сообщений Больше...
template<typename CharType>
class boost::locale::basic_format< CharType >
типографский класс, который позволяет безопасное и локальное форматирование сообщений
Этот класс создает отформатированное сообщение, подобное printf или boost::format, и получает отформатированные записи через оператор %.
Например
cout <<
format(
"Hello {1}, you are {2} years old") % name % age << endl;
Форматирование заключено между кудрявыми скобками { } и определяется запятой, разделенной списком флагов, в формате ключа[=значение] значение также может быть текстом, включенным между отдельными цитатами ', который используется для специальных целей, где допускается включение не-ASCII текста
Включение буквальных { и } возможно путем соответствующего указания двойных скобок {{ и }}.
Например:
cout <<
format(
"The height of water at {1,time} is {2,num=fixed,precision=3}") %
time % height;
Специальный ключ – число без значения определяет положение входного параметра. Список ключей:
[0-9]+ – цифры, индекс форматированного параметра – обязательный ключ.
numилиnumber– форматировать число. Факультативные значения:hex– отображать шестнадцатеричное число
oct– дисплей в октальном формате
sciилиscientific– отображение в научном формате
fixилиfixed– дисплей в фиксированном формате
For example number=sci
curилиcurrency– валютный формат. Дополнительные значения:iso– отображение с использованием символа валюты ISO.
natилиnational– отображение с использованием символа национальной валюты.
perилиpercent– значение формата %.
date,time,datetimeилиdt– дата формата, время или дата и время. Дополнительные значения:sилиshort– отображение в коротком формате
mилиmedium– дисплей в среднем формате.
lилиlong– дисплей в длинном формате.
fилиfull– отображение в полном формате.
ftimeсо струнным (цитируемым) параметром – отображение как сstrftimeсм.,as::ftimeманипулятор
spellилиspellout– запишите число.
ordилиordinal– порядковый номер формата (1-й, 2-й... и т.д.)
leftили<– выровнять влево.
rightили>[>] [>] [>].
widthилиw– ширина заданного поля (требуется параметр).
precisionилиp– заданная точность (требуется параметр).
locale– с параметром – переключать локально для текущей работы. Эта команда генерирует локализацию с гранями форматирования, давая более тонкий зернистый контроль форматирования. Например:cout<<
формат"Сегодня {1,date} ({1,date,locale=he_IL.UTF-8@calendar=hebrew,date] Еврейская дата)"] %
дата;
[ORIG_END] -->
timezoneилиtz– название часового пояса для отображения времени. Например:
cout<<
формат"Время: Местное {1,time}, ({1,time,tz=EET} Восточноевропейское время)"] %
дата;
[ORIG_END] -->
local- отображение времени в местном времени
gmt- отображение времени в временной шкале UTCcout<<
формат"Местное время: {1, время, местное}, универсальное время {1, время, гмт}"] %
время;
[ORIG_END] -->
Недействительные строки форматирования немного игнорируются. Это предотвратит сбой программы в неожиданном месте.