<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <title>ICU 52.1: plurfmt.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ICU 52.1  <span id="projectnumber">52.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.2 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_73bc6a9bb617ea1bc89a10aa59ce84e4.html">i18n</a></li><li class="navelem"><a class="el" href="dir_0119ce638985e8a1561a00fdb5f76ff6.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">plurfmt.h</div> </div> </div><!--header--> <div class="contents"> <a href="plurfmt_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">* Copyright (C) 2007-2013, International Business Machines Corporation and</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">* others. All Rights Reserved.</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">*</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"></span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* File PLURFMT.H</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">********************************************************************************</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">*/</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> </div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#ifndef PLURFMT</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor"></span><span class="preprocessor">#define PLURFMT</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>"</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include "<a class="code" href="messagepattern_8h.html" title="C++ API: MessagePattern class: Parses and represents ICU MessageFormat patterns.">unicode/messagepattern.h</a>"</span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="numfmt_8h.html" title="C++ API: Abstract base class for all number formats.">unicode/numfmt.h</a>"</span></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="preprocessor">#include "<a class="code" href="plurrule_8h.html" title="C++ API: PluralRules object.">unicode/plurrule.h</a>"</span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div> <div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b" title="This is used to begin a declaration of a public ICU C++ API.">U_NAMESPACE_BEGIN</a></div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="keyword">class </span>Hashtable;</div> <div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00143"></a><span class="lineno"><a class="code" href="classicu_1_1PluralFormat.html"> 143</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from outside...">U_I18N_API</a> <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1Format.html" title="Base class for all formats.">Format</a> {</div> <div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00145"></a><span class="lineno"> 145</span> </div> <div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00155"></a><span class="lineno"> 155</span> </div> <div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div> <div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1PluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>& rules, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> <div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale, <span class="keyword">const</span> <a class="code" href="classicu_1_1PluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>& rules, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale, <a class="code" href="upluralrules_8h.html#afceec9f2dee10dbf3ca0d694f66d5d3c" title="Type of plurals and PluralRules.">UPluralType</a> type, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div> <div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& pattern, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale, <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& pattern, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div> <div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1PluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>& rules,</div> <div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& pattern,</div> <div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div> <div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale,</div> <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1PluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>& rules,</div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& pattern,</div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div> <div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale,</div> <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <a class="code" href="upluralrules_8h.html#afceec9f2dee10dbf3ca0d694f66d5d3c" title="Type of plurals and PluralRules.">UPluralType</a> type,</div> <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& pattern,</div> <div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00287"></a><span class="lineno"> 287</span> </div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>& other);</div> <div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div> <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>();</div> <div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div> <div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <span class="keywordtype">void</span> applyPattern(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& pattern, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div> <div class="line"><a name="l00314"></a><span class="lineno"> 314</span> </div> <div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keyword">using</span> Format::format;</div> <div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> <div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> <a class="code" href="classicu_1_1Format.html#ab510bded8f13465d98b950db03f15297" title="Formats an object to produce a string.">format</a>(int32_t number, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00330"></a><span class="lineno"> 330</span> </div> <div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> <a class="code" href="classicu_1_1Format.html#ab510bded8f13465d98b950db03f15297" title="Formats an object to produce a string.">format</a>(<span class="keywordtype">double</span> number, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& <a class="code" href="classicu_1_1Format.html#ab510bded8f13465d98b950db03f15297" title="Formats an object to produce a string.">format</a>(int32_t number,</div> <div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& appendTo,</div> <div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classicu_1_1FieldPosition.html" title="FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...">FieldPosition</a>& pos,</div> <div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00365"></a><span class="lineno"> 365</span> </div> <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& <a class="code" href="classicu_1_1Format.html#ab510bded8f13465d98b950db03f15297" title="Formats an object to produce a string.">format</a>(<span class="keywordtype">double</span> number,</div> <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& appendTo,</div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <a class="code" href="classicu_1_1FieldPosition.html" title="FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...">FieldPosition</a>& pos,</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div> <div class="line"><a name="l00387"></a><span class="lineno"> 387</span> <span class="preprocessor">#ifndef U_HIDE_DEPRECATED_API </span></div> <div class="line"><a name="l00388"></a><span class="lineno"> 388</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  <span class="keywordtype">void</span> setLocale(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a>& locale, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00404"></a><span class="lineno"> 404</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DEPRECATED_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordtype">void</span> setNumberFormat(<span class="keyword">const</span> <a class="code" href="classicu_1_1NumberFormat.html" title="Abstract base class for all number formats.">NumberFormat</a>* format, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div> <div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>& <a class="code" href="classicu_1_1Format.html#a6e4a4f6e5eedfe8d949e9307191a3afc">operator=</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>& other);</div> <div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div> <div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classicu_1_1Format.html#ab2db8f1097b03f3660d329752370bdf7" title="Return true if the given Format objects are semantically equal.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Format.html" title="Base class for all formats.">Format</a>& other) <span class="keyword">const</span>;</div> <div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div> <div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classicu_1_1Format.html#a6805569ed12cf68e0e8359dadcbe9b1c" title="Return true if the given Format objects are not semantically equal.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Format.html" title="Base class for all formats.">Format</a>& other) <span class="keyword">const</span>;</div> <div class="line"><a name="l00442"></a><span class="lineno"> 442</span> </div> <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1Format.html" title="Base class for all formats.">Format</a>* <a class="code" href="classicu_1_1Format.html#ad606fa4ed45908fe4220085c6276c65a" title="Clone this object polymorphically.">clone</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;</div> <div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div> <div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& <a class="code" href="classicu_1_1Format.html#ab510bded8f13465d98b950db03f15297" title="Formats an object to produce a string.">format</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Formattable.html" title="Formattable objects can be passed to the Format class or its subclasses for formatting.">Formattable</a>& obj,</div> <div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& appendTo,</div> <div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <a class="code" href="classicu_1_1FieldPosition.html" title="FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...">FieldPosition</a>& pos,</div> <div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>;</div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div> <div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& toPattern(<a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& appendTo);</div> <div class="line"><a name="l00478"></a><span class="lineno"> 478</span> </div> <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classicu_1_1Format.html#a292d797eb9d3bc8a42d8d8efba119a83" title="Parse a string to produce an object.">parseObject</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& source,</div> <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="classicu_1_1Formattable.html" title="Formattable objects can be passed to the Format class or its subclasses for formatting.">Formattable</a>& result,</div> <div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <a class="code" href="classicu_1_1ParsePosition.html" title="ParsePosition is a simple class used by Format and its subclasses to keep track of the current positi...">ParsePosition</a>& parse_pos) <span class="keyword">const</span>;</div> <div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keyword">static</span> <a class="code" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using the compiler's RTTI.">UClassID</a> U_EXPORT2 getStaticClassID(<span class="keywordtype">void</span>);</div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div> <div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <span class="keyword">virtual</span> <a class="code" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using the compiler's RTTI.">UClassID</a> <a class="code" href="classicu_1_1UObject.html#a1aa93096e880907080b503ff1fb0f8bc" title="ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.">getDynamicClassID</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00519"></a><span class="lineno"> 519</span> </div> <div class="line"><a name="l00520"></a><span class="lineno"> 520</span> <span class="preprocessor">#if (defined(__xlC__) && (__xlC__ < 0x0C00)) || (U_PLATFORM == U_PF_OS390) || (U_PLATFORM ==U_PF_OS400)</span></div> <div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="preprocessor"></span><span class="comment">// Work around a compiler bug on xlC 11.1 on AIX 7.1 that would</span></div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="comment">// prevent PluralSelectorAdapter from implementing private PluralSelector.</span></div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</span> <span class="comment">// xlC error message:</span></div> <div class="line"><a name="l00524"></a><span class="lineno"> 524</span> <span class="comment">// 1540-0300 (S) The "private" member "class icu_49::PluralFormat::PluralSelector" cannot be accessed.</span></div> <div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <span class="preprocessor"></span><span class="keyword">private</span>:</div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00532"></a><span class="lineno"><a class="code" href="classicu_1_1PluralFormat_1_1PluralSelector.html"> 532</a></span>  <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from outside...">U_I18N_API</a> <a class="code" href="classicu_1_1PluralFormat_1_1PluralSelector.html">PluralSelector</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class.">UMemory</a> {</div> <div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1PluralFormat_1_1PluralSelector.html">PluralSelector</a>();</div> <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> select(<span class="keywordtype">void</span> *context, <span class="keywordtype">double</span> number, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& ec) <span class="keyword">const</span> = 0;</div> <div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  };</div> <div class="line"><a name="l00546"></a><span class="lineno"> 546</span> </div> <div class="line"><a name="l00550"></a><span class="lineno"><a class="code" href="classicu_1_1PluralFormat_1_1PluralSelectorAdapter.html"> 550</a></span>  <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from outside...">U_I18N_API</a> <a class="code" href="classicu_1_1PluralFormat_1_1PluralSelectorAdapter.html">PluralSelectorAdapter</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1PluralFormat_1_1PluralSelector.html">PluralSelector</a> {</div> <div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="classicu_1_1PluralFormat_1_1PluralSelectorAdapter.html">PluralSelectorAdapter</a>() : pluralRules(<a class="code" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4" title="Define NULL if necessary, to 0 for C++ and to ((void *)0) for C.">NULL</a>) {</div> <div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  }</div> <div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div> <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1PluralFormat_1_1PluralSelectorAdapter.html">PluralSelectorAdapter</a>();</div> <div class="line"><a name="l00556"></a><span class="lineno"> 556</span> </div> <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> select(<span class="keywordtype">void</span> *context, <span class="keywordtype">double</span> number, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& <span class="comment">/*ec*/</span>) <span class="keyword">const</span>; </div> <div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keywordtype">void</span> reset();</div> <div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <a class="code" href="classicu_1_1PluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>* pluralRules;</div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  };</div> <div class="line"><a name="l00563"></a><span class="lineno"> 563</span> </div> <div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor">#if defined(__xlC__)</span></div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"></span><span class="comment">// End of xlC bug workaround, keep remaining definitions private.</span></div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"></span> <a class="code" href="classicu_1_1Locale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> locale;</div> <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <a class="code" href="classicu_1_1MessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> msgPattern;</div> <div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  <a class="code" href="classicu_1_1NumberFormat.html" title="Abstract base class for all number formats.">NumberFormat</a>* numberFormat;</div> <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordtype">double</span> offset;</div> <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <a class="code" href="classicu_1_1PluralFormat_1_1PluralSelectorAdapter.html">PluralSelectorAdapter</a> pluralRulesWrapper;</div> <div class="line"><a name="l00573"></a><span class="lineno"> 573</span> </div> <div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>(); <span class="comment">// default constructor not implemented</span></div> <div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordtype">void</span> init(<span class="keyword">const</span> <a class="code" href="classicu_1_1PluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>* rules, <a class="code" href="upluralrules_8h.html#afceec9f2dee10dbf3ca0d694f66d5d3c" title="Type of plurals and PluralRules.">UPluralType</a> type, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status);</div> <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordtype">void</span> <a class="code" href="classicu_1_1PluralFormat.html#a8cec9f8579702e799c6161d026552c4f" title="Copies dynamically allocated values (pointer fields).">copyObjects</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1PluralFormat.html">PluralFormat</a>& other);</div> <div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div> <div class="line"><a name="l00582"></a><span class="lineno"> 582</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& <a class="code" href="classicu_1_1PluralFormat.html#a6ef08bd30c176be42acae50138541929" title="Formats a plural message for a given number.">format</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Formattable.html" title="Formattable objects can be passed to the Format class or its subclasses for formatting.">Formattable</a>& numberObject, <span class="keywordtype">double</span> number,</div> <div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>& appendTo,</div> <div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <a class="code" href="classicu_1_1FieldPosition.html" title="FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...">FieldPosition</a>& pos,</div> <div class="line"><a name="l00585"></a><span class="lineno"> 585</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& status) <span class="keyword">const</span>; </div> <div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">static</span> int32_t <a class="code" href="classicu_1_1PluralFormat.html#ae37a2b9cffba478b144eed689e4c602e" title="Finds the PluralFormat sub-message for the given number, or the "other" sub-message.">findSubMessage</a>(</div> <div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>& pattern, int32_t partIndex,</div> <div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1PluralFormat_1_1PluralSelector.html">PluralSelector</a>& selector, <span class="keywordtype">void</span> *context, <span class="keywordtype">double</span> number, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a>& ec); </div> <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1MessageFormat.html">MessageFormat</a>;</div> <div class="line"><a name="l00603"></a><span class="lineno"> 603</span> };</div> <div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div> <div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933" title="This is used to end a declaration of a public ICU C++ API.">U_NAMESPACE_END</a></div> <div class="line"><a name="l00606"></a><span class="lineno"> 606</span> </div> <div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_FORMATTING */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor">#endif // _PLURFMT</span></div> <div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"></span><span class="comment">//eof</span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated on Fri Oct 4 2013 14:10:21 for ICU 52.1 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.2 </small></address> </body> </html>