1 <!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns=
"http://www.w3.org/1999/xhtml">
4 <meta http-equiv=
"Content-Type" content=
"text/xhtml;charset=UTF-8"/>
5 <meta http-equiv=
"X-UA-Compatible" content=
"IE=9"/>
6 <meta name=
"generator" content=
"Doxygen 1.8.6"/>
7 <title>Boost.Locale: boost::locale::basic_format
< CharType
> Class Template Reference
</title>
8 <link href=
"tabs.css" rel=
"stylesheet" type=
"text/css"/>
9 <script type=
"text/javascript" src=
"jquery.js"></script>
10 <script type=
"text/javascript" src=
"dynsections.js"></script>
11 <link href=
"navtree.css" rel=
"stylesheet" type=
"text/css"/>
12 <script type=
"text/javascript" src=
"resize.js"></script>
13 <script type=
"text/javascript" src=
"navtree.js"></script>
14 <script type=
"text/javascript">
15 $(document).ready(initResizable);
16 $(window).load(resizeHeight);
18 <link href=
"doxygen.css" rel=
"stylesheet" type=
"text/css" />
21 <div id=
"top"><!-- do not remove this div, it is closed by doxygen! -->
23 <table cellspacing=
"0" cellpadding=
"0">
25 <tr style=
"height: 56px;">
26 <td id=
"projectlogo"><img alt=
"Logo" src=
"boost-small.png"/></td>
27 <td style=
"padding-left: 0.5em;">
28 <div id=
"projectname">Boost.Locale
35 <!-- end header part -->
36 <!-- Generated by Doxygen 1.8.6 -->
37 <div id=
"navrow1" class=
"tabs">
39 <li><a href=
"index.html"><span>Main
 Page
</span></a></li>
40 <li><a href=
"pages.html"><span>Related
 Pages
</span></a></li>
41 <li><a href=
"modules.html"><span>Modules
</span></a></li>
42 <li><a href=
"namespaces.html"><span>Namespaces
</span></a></li>
43 <li class=
"current"><a href=
"annotated.html"><span>Classes
</span></a></li>
44 <li><a href=
"files.html"><span>Files
</span></a></li>
45 <li><a href=
"examples.html"><span>Examples
</span></a></li>
48 <div id=
"navrow2" class=
"tabs2">
50 <li><a href=
"annotated.html"><span>Class
 List
</span></a></li>
51 <li><a href=
"hierarchy.html"><span>Class
 Hierarchy
</span></a></li>
52 <li><a href=
"functions.html"><span>Class
 Members
</span></a></li>
56 <div id=
"side-nav" class=
"ui-resizable side-nav-resizable">
58 <div id=
"nav-tree-contents">
59 <div id=
"nav-sync" class=
"sync"></div>
62 <div id=
"splitbar" style=
"-moz-user-select:none;"
63 class=
"ui-resizable-handle">
66 <script type=
"text/javascript">
67 $(document).ready(function(){initNavTree('classboost_1_1locale_1_1basic__format.html','');});
69 <div id=
"doc-content">
72 <a href=
"#nested-classes">Classes
</a> |
73 <a href=
"#pub-types">Public Types
</a> |
74 <a href=
"#pub-methods">Public Member Functions
</a> |
75 <a href=
"classboost_1_1locale_1_1basic__format-members.html">List of all members
</a> </div>
76 <div class=
"headertitle">
77 <div class=
"title">boost::locale::basic_format
< CharType
> Class Template Reference
<div class=
"ingroups"><a class=
"el" href=
"group__format.html">Format
</a></div></div> </div>
79 <div class=
"contents">
81 <p>a printf like class that allows type-safe and locale aware message formatting
82 <a href=
"classboost_1_1locale_1_1basic__format.html#details">More...
</a></p>
84 <p><code>#include
<<a class=
"el" href=
"format_8hpp_source.html">boost/locale/format.hpp
</a>></code></p>
85 <table class=
"memberdecls">
86 <tr class=
"heading"><td colspan=
"2"><h2 class=
"groupheader"><a name=
"pub-types"></a>
87 Public Types
</h2></td></tr>
88 <tr class=
"memitem:a45c16f2e69842b8d223d240bbd6e210a"><td class=
"memItemLeft" align=
"right" valign=
"top"><a class=
"anchor" id=
"a45c16f2e69842b8d223d240bbd6e210a"></a>
89 typedef CharType
 </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a45c16f2e69842b8d223d240bbd6e210a">char_type
</a></td></tr>
90 <tr class=
"memdesc:a45c16f2e69842b8d223d240bbd6e210a"><td class=
"mdescLeft"> </td><td class=
"mdescRight">Underlying character type.
<br/></td></tr>
91 <tr class=
"separator:a45c16f2e69842b8d223d240bbd6e210a"><td class=
"memSeparator" colspan=
"2"> </td></tr>
92 <tr class=
"memitem:a75213e5cc9d113f6b25e72542a4841f5"><td class=
"memItemLeft" align=
"right" valign=
"top">typedef
<a class=
"el" href=
"classboost_1_1locale_1_1basic__message.html">basic_message
</a>< <a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a45c16f2e69842b8d223d240bbd6e210a">char_type
</a> > </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a75213e5cc9d113f6b25e72542a4841f5">message_type
</a></td></tr>
93 <tr class=
"separator:a75213e5cc9d113f6b25e72542a4841f5"><td class=
"memSeparator" colspan=
"2"> </td></tr>
94 <tr class=
"memitem:a0e1263d23f67aa38b4d857031fccf973"><td class=
"memItemLeft" align=
"right" valign=
"top"><a class=
"anchor" id=
"a0e1263d23f67aa38b4d857031fccf973"></a>
95 typedef std::basic_string
<br class=
"typebreak"/>
96 < CharType
> </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973">string_type
</a></td></tr>
97 <tr class=
"memdesc:a0e1263d23f67aa38b4d857031fccf973"><td class=
"mdescLeft"> </td><td class=
"mdescRight">string type for this type of character
<br/></td></tr>
98 <tr class=
"separator:a0e1263d23f67aa38b4d857031fccf973"><td class=
"memSeparator" colspan=
"2"> </td></tr>
99 <tr class=
"memitem:a6aba7e54f0065f2697d13ff8a859309a"><td class=
"memItemLeft" align=
"right" valign=
"top"><a class=
"anchor" id=
"a6aba7e54f0065f2697d13ff8a859309a"></a>
100 typedef std::basic_ostream
<br class=
"typebreak"/>
101 < CharType
> </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a6aba7e54f0065f2697d13ff8a859309a">stream_type
</a></td></tr>
102 <tr class=
"memdesc:a6aba7e54f0065f2697d13ff8a859309a"><td class=
"mdescLeft"> </td><td class=
"mdescRight">output stream type for this type of character
<br/></td></tr>
103 <tr class=
"separator:a6aba7e54f0065f2697d13ff8a859309a"><td class=
"memSeparator" colspan=
"2"> </td></tr>
104 </table><table class=
"memberdecls">
105 <tr class=
"heading"><td colspan=
"2"><h2 class=
"groupheader"><a name=
"pub-methods"></a>
106 Public Member Functions
</h2></td></tr>
107 <tr class=
"memitem:a4c885ae60a5b867863b79acb75feff9e"><td class=
"memItemLeft" align=
"right" valign=
"top"> </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a4c885ae60a5b867863b79acb75feff9e">basic_format
</a> (
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973">string_type
</a> format_string)
</td></tr>
108 <tr class=
"separator:a4c885ae60a5b867863b79acb75feff9e"><td class=
"memSeparator" colspan=
"2"> </td></tr>
109 <tr class=
"memitem:a155e8e60061da7461bbcc958d600c190"><td class=
"memItemLeft" align=
"right" valign=
"top"> </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a155e8e60061da7461bbcc958d600c190">basic_format
</a> (
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a75213e5cc9d113f6b25e72542a4841f5">message_type
</a> const
&trans)
</td></tr>
110 <tr class=
"separator:a155e8e60061da7461bbcc958d600c190"><td class=
"memSeparator" colspan=
"2"> </td></tr>
111 <tr class=
"memitem:a24de7f69a5d95fd6181d888f07fc6770"><td class=
"memTemplParams" colspan=
"2">template
<typename Formattible
> </td></tr>
112 <tr class=
"memitem:a24de7f69a5d95fd6181d888f07fc6770"><td class=
"memTemplItemLeft" align=
"right" valign=
"top"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">basic_format
</a> & </td><td class=
"memTemplItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a24de7f69a5d95fd6181d888f07fc6770">operator%
</a> (Formattible const
&object)
</td></tr>
113 <tr class=
"separator:a24de7f69a5d95fd6181d888f07fc6770"><td class=
"memSeparator" colspan=
"2"> </td></tr>
114 <tr class=
"memitem:a6bc65d7993e3ab6ad51809ef8fb65400"><td class=
"memItemLeft" align=
"right" valign=
"top"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973">string_type
</a> </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a6bc65d7993e3ab6ad51809ef8fb65400">str
</a> (std::locale const
&loc=std::locale()) const
</td></tr>
115 <tr class=
"separator:a6bc65d7993e3ab6ad51809ef8fb65400"><td class=
"memSeparator" colspan=
"2"> </td></tr>
116 <tr class=
"memitem:a457c9228d13e80da3c807a51aa5ef6cd"><td class=
"memItemLeft" align=
"right" valign=
"top">void
 </td><td class=
"memItemRight" valign=
"bottom"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a457c9228d13e80da3c807a51aa5ef6cd">write
</a> (
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a6aba7e54f0065f2697d13ff8a859309a">stream_type
</a> &out) const
</td></tr>
117 <tr class=
"separator:a457c9228d13e80da3c807a51aa5ef6cd"><td class=
"memSeparator" colspan=
"2"> </td></tr>
119 <a name=
"details" id=
"details"></a><h2 class=
"groupheader">Detailed Description
</h2>
120 <div class=
"textblock"><h3>template
<typename CharType
><br/>
121 class boost::locale::basic_format
< CharType
></h3>
123 <p>a printf like class that allows type-safe and locale aware message formatting
</p>
124 <p>This class creates a formatted message similar to printf or boost::format and receives formatted entries via operator %.
</p>
126 <div class=
"fragment"><div class=
"line">cout
<< <a class=
"code" href=
"group__format.html#gad7914df7b54382c1ad7f5360676fe2e8">format
</a>(
<span class=
"stringliteral">"Hello {
1}, you are {
2} years old
"</span>) % name % age
<< endl;
</div>
127 </div><!-- fragment --><p>Formatting is enclosed between curly brackets
<code>{
</code> <code>}
</code> and defined by a comma separated list of flags in the format key[=value] value may also be text included between single quotes
<code>'
</code> that is used for special purposes where inclusion of non-ASCII text is allowed
</p>
128 <p>Including of literal
<code>{
</code> and
<code>}
</code> is possible by specifying double brackets
<code>{{
</code> and
<code>}}
</code> accordingly.
</p>
130 <div class=
"fragment"><div class=
"line">cout
<< <a class=
"code" href=
"group__format.html#gad7914df7b54382c1ad7f5360676fe2e8">format
</a>(
<span class=
"stringliteral">"The height of water at {
1,time} is {
2,num=fixed,precision=
3}
"</span>) %
<a class=
"code" href=
"group__manipulators.html#gae669b101cbeaed6f6d246ebdcaa8f39c">time
</a> % height;
</div>
131 </div><!-- fragment --><p>The special key
– a number without a value defines the position of an input parameter. List of keys:
</p>
133 <li><code></code>[
0-
9]+
– digits, the index of a formatted parameter
– mandatory key.
</li>
134 <li><code>num
</code> or
<code>number
</code> – format a number. Optional values are:
<ul>
135 <li><code>hex
</code> – display hexadecimal number
</li>
136 <li><code>oct
</code> – display in octal format
</li>
137 <li><code>sci
</code> or
<code>scientific
</code> – display in scientific format
</li>
138 <li><code>fix
</code> or
<code>fixed
</code> – display in fixed format
</li>
140 For example
<code>number=sci
</code> </li>
141 <li><code>cur
</code> or
<code>currency
</code> – format currency. Optional values are:
<ul>
142 <li><code>iso
</code> – display using ISO currency symbol.
</li>
143 <li><code>nat
</code> or
<code>national
</code> – display using national currency symbol.
</li>
146 <li><code>per
</code> or
<code>percent
</code> – format percent value.
</li>
147 <li><code>date
</code>,
<code>time
</code> ,
<code>datetime
</code> or
<code>dt
</code> – format date, time or date and time. Optional values are:
<ul>
148 <li><code>s
</code> or
<code>short
</code> – display in short format
</li>
149 <li><code>m
</code> or
<code>medium
</code> – display in medium format.
</li>
150 <li><code>l
</code> or
<code>long
</code> – display in long format.
</li>
151 <li><code>f
</code> or
<code>full
</code> – display in full format.
</li>
154 <li><code>ftime
</code> with string (quoted) parameter
– display as with
<code>strftime
</code> see,
<code><a class=
"el" href=
"group__manipulators.html#ga84cc8985e5305ef54394e84c10223866">as::ftime
</a></code> manipulator
</li>
155 <li><code>spell
</code> or
<code>spellout
</code> – spell the number.
</li>
156 <li><code>ord
</code> or
<code>ordinal
</code> – format ordinal number (
1st,
2nd... etc)
</li>
157 <li><code>left
</code> or
<code><</code> – align to left.
</li>
158 <li><code>right
</code> or
<code>></code> – align to right.
</li>
159 <li><code>width
</code> or
<code>w
</code> – set field width (requires parameter).
</li>
160 <li><code>precision
</code> or
<code>p
</code> – set precision (requires parameter).
</li>
161 <li><code>locale
</code> – with parameter
– switch locale for current operation. This command generates locale with formatting facets giving more fine grained control of formatting. For example:
<div class=
"fragment"><div class=
"line">cout
<< <a class=
"code" href=
"group__format.html#gad7914df7b54382c1ad7f5360676fe2e8">format
</a>(
<span class=
"stringliteral">"Today {
1,date} ({
1,date,locale=he_IL.UTF-
8@calendar=hebrew,date} Hebrew Date)
"</span>) %
<a class=
"code" href=
"group__manipulators.html#gae05b82e6658dc573521518fed5f5c77f">date
</a>;
</div>
162 </div><!-- fragment --></li>
163 <li><code>timezone
</code> or
<code>tz
</code> – the name of the timezone to display the time in. For example:
<br/>
164 <div class=
"fragment"><div class=
"line">cout
<< <a class=
"code" href=
"group__format.html#gad7914df7b54382c1ad7f5360676fe2e8">format
</a>(
<span class=
"stringliteral">"Time is: Local {
1,time}, ({
1,time,tz=EET} Eastern European Time)
"</span>) %
<a class=
"code" href=
"group__manipulators.html#gae05b82e6658dc573521518fed5f5c77f">date
</a>;
</div>
165 </div><!-- fragment --></li>
166 <li><code>local
</code> - display the time in local time
</li>
167 <li><code>gmt
</code> - display the time in UTC time scale
<div class=
"fragment"><div class=
"line">cout
<< <a class=
"code" href=
"group__format.html#gad7914df7b54382c1ad7f5360676fe2e8">format
</a>(
<span class=
"stringliteral">"Local time is: {
1,time,local}, universal time is {
1,time,gmt}
"</span>) %
<a class=
"code" href=
"group__manipulators.html#gae669b101cbeaed6f6d246ebdcaa8f39c">time
</a>;
</div>
168 </div><!-- fragment --></li>
170 <p>Invalid formatting strings are slightly ignored. This would prevent from translator to crash the program in unexpected location.
</p>
171 </div><h2 class=
"groupheader">Member Typedef Documentation
</h2>
172 <a class=
"anchor" id=
"a75213e5cc9d113f6b25e72542a4841f5"></a>
173 <div class=
"memitem">
174 <div class=
"memproto">
175 <div class=
"memtemplate">
176 template
<typename CharType
> </div>
177 <table class=
"memname">
179 <td class=
"memname">typedef
<a class=
"el" href=
"classboost_1_1locale_1_1basic__message.html">basic_message
</a><<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a45c16f2e69842b8d223d240bbd6e210a">char_type
</a>> <a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">boost::locale::basic_format
</a>< CharType
>::
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a75213e5cc9d113f6b25e72542a4841f5">message_type
</a></td>
182 </div><div class=
"memdoc">
183 <p>The translation message type
</p>
187 <h2 class=
"groupheader">Constructor
& Destructor Documentation
</h2>
188 <a class=
"anchor" id=
"a4c885ae60a5b867863b79acb75feff9e"></a>
189 <div class=
"memitem">
190 <div class=
"memproto">
191 <div class=
"memtemplate">
192 template
<typename CharType
> </div>
193 <table class=
"mlabels">
195 <td class=
"mlabels-left">
196 <table class=
"memname">
198 <td class=
"memname"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">boost::locale::basic_format
</a>< CharType
>::
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">basic_format
</a> </td>
200 <td class=
"paramtype"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973">string_type
</a> </td>
201 <td class=
"paramname"><em>format_string
</em></td><td>)
</td>
206 <td class=
"mlabels-right">
207 <span class=
"mlabels"><span class=
"mlabel">inline
</span></span> </td>
210 </div><div class=
"memdoc">
211 <p>Create a format class for
<em>format_string
</em> </p>
215 <a class=
"anchor" id=
"a155e8e60061da7461bbcc958d600c190"></a>
216 <div class=
"memitem">
217 <div class=
"memproto">
218 <div class=
"memtemplate">
219 template
<typename CharType
> </div>
220 <table class=
"mlabels">
222 <td class=
"mlabels-left">
223 <table class=
"memname">
225 <td class=
"memname"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">boost::locale::basic_format
</a>< CharType
>::
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">basic_format
</a> </td>
227 <td class=
"paramtype"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a75213e5cc9d113f6b25e72542a4841f5">message_type
</a> const
& </td>
228 <td class=
"paramname"><em>trans
</em></td><td>)
</td>
233 <td class=
"mlabels-right">
234 <span class=
"mlabels"><span class=
"mlabel">inline
</span></span> </td>
237 </div><div class=
"memdoc">
238 <p>Create a format class using message
<em>trans
</em>. The message if translated first according to the rules of target locale and then interpreted as format string
</p>
242 <h2 class=
"groupheader">Member Function Documentation
</h2>
243 <a class=
"anchor" id=
"a24de7f69a5d95fd6181d888f07fc6770"></a>
244 <div class=
"memitem">
245 <div class=
"memproto">
246 <div class=
"memtemplate">
247 template
<typename CharType
> </div>
248 <div class=
"memtemplate">
249 template
<typename Formattible
> </div>
250 <table class=
"mlabels">
252 <td class=
"mlabels-left">
253 <table class=
"memname">
255 <td class=
"memname"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">basic_format
</a>& <a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">boost::locale::basic_format
</a>< CharType
>::operator%
</td>
257 <td class=
"paramtype">Formattible const
& </td>
258 <td class=
"paramname"><em>object
</em></td><td>)
</td>
263 <td class=
"mlabels-right">
264 <span class=
"mlabels"><span class=
"mlabel">inline
</span></span> </td>
267 </div><div class=
"memdoc">
268 <p>Add new parameter to format list. The object should be a type with defined expression out
<< object where
<code>out
</code> is
<code>std::basic_ostream
</code>.
</p>
272 <a class=
"anchor" id=
"a6bc65d7993e3ab6ad51809ef8fb65400"></a>
273 <div class=
"memitem">
274 <div class=
"memproto">
275 <div class=
"memtemplate">
276 template
<typename CharType
> </div>
277 <table class=
"mlabels">
279 <td class=
"mlabels-left">
280 <table class=
"memname">
282 <td class=
"memname"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a0e1263d23f67aa38b4d857031fccf973">string_type
</a> <a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">boost::locale::basic_format
</a>< CharType
>::str
</td>
284 <td class=
"paramtype">std::locale const
& </td>
285 <td class=
"paramname"><em>loc
</em> =
<code>std::locale()
</code></td><td>)
</td>
290 <td class=
"mlabels-right">
291 <span class=
"mlabels"><span class=
"mlabel">inline
</span></span> </td>
294 </div><div class=
"memdoc">
295 <p>Format a string using a locale
<em>loc
</em> </p>
299 <a class=
"anchor" id=
"a457c9228d13e80da3c807a51aa5ef6cd"></a>
300 <div class=
"memitem">
301 <div class=
"memproto">
302 <div class=
"memtemplate">
303 template
<typename CharType
> </div>
304 <table class=
"mlabels">
306 <td class=
"mlabels-left">
307 <table class=
"memname">
309 <td class=
"memname">void
<a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html">boost::locale::basic_format
</a>< CharType
>::write
</td>
311 <td class=
"paramtype"><a class=
"el" href=
"classboost_1_1locale_1_1basic__format.html#a6aba7e54f0065f2697d13ff8a859309a">stream_type
</a> & </td>
312 <td class=
"paramname"><em>out
</em></td><td>)
</td>
317 <td class=
"mlabels-right">
318 <span class=
"mlabels"><span class=
"mlabel">inline
</span></span> </td>
321 </div><div class=
"memdoc">
322 <p>write a formatted string to output stream
<em>out
</em> using out's locale
</p>
326 <hr/>The documentation for this class was generated from the following file:
<ul>
327 <li>boost/locale/
<a class=
"el" href=
"format_8hpp_source.html">format.hpp
</a></li>
329 </div><!-- contents -->
330 </div><!-- doc-content -->
333 © Copyright
2009-
2012 Artyom Beilis, Distributed under the
<a href=
"http://www.boost.org/LICENSE_1_0.txt">Boost Software License
</a>, Version
1.0.