типографский класс, который позволяет безопасное и локальное форматирование сообщений Больше...
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] -->
Недействительные строки форматирования немного игнорируются. Это предотвратит сбой программы в неожиданном месте.