JezK
Edit File: numberformatter_8h_source.html
<!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"/> <meta name="generator" content="Doxygen 1.8.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>ICU 60.1: numberformatter.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 id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">ICU 60.1  <span id="projectnumber">60.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript" src="menudata.js"></script> <script type="text/javascript" src="menu.js"></script> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></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">numberformatter.h</div> </div> </div><!--header--> <div class="contents"> <a href="numberformatter_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">// © 2017 and later: Unicode, Inc. and others.</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">// License & terms of use: http://www.unicode.org/copyright.html</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> </div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#ifndef __NUMBERFORMATTER_H__</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="preprocessor">#define __NUMBERFORMATTER_H__</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#include "<a class="code" href="appendable_8h.html">unicode/appendable.h</a>"</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#include "<a class="code" href="dcfmtsym_8h.html">unicode/dcfmtsym.h</a>"</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor">#include "<a class="code" href="currunit_8h.html">unicode/currunit.h</a>"</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="fieldpos_8h.html">unicode/fieldpos.h</a>"</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="fpositer_8h.html">unicode/fpositer.h</a>"</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="measunit_8h.html">unicode/measunit.h</a>"</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor">#include "<a class="code" href="nounit_8h.html">unicode/nounit.h</a>"</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="plurrule_8h.html">unicode/plurrule.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="ucurr_8h.html">unicode/ucurr.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "<a class="code" href="unum_8h.html">unicode/unum.h</a>"</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> </div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor">#ifndef U_HIDE_DRAFT_API</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00099"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3f"> 99</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3f">UNumberUnitWidth</a> {</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa721badced2bb2b04f6c10afaed3bedef"> 111</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa721badced2bb2b04f6c10afaed3bedef">UNUM_UNIT_WIDTH_NARROW</a>,</div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> </div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fad8d8a2f752f8e91c3360c9a5399ef593"> 127</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fad8d8a2f752f8e91c3360c9a5399ef593">UNUM_UNIT_WIDTH_SHORT</a>,</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> </div><div class="line"><a name="l00138"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa21dfe289ee4e87262df9622134ab29db"> 138</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa21dfe289ee4e87262df9622134ab29db">UNUM_UNIT_WIDTH_FULL_NAME</a>,</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div><div class="line"><a name="l00149"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fad0ce2ec95aad4c8c32967b9e2f84fcfb"> 149</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fad0ce2ec95aad4c8c32967b9e2f84fcfb">UNUM_UNIT_WIDTH_ISO_CODE</a>,</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00158"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa1b45ff25f674b915fb1481b30e23eea5"> 158</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa1b45ff25f674b915fb1481b30e23eea5">UNUM_UNIT_WIDTH_HIDDEN</a>,</div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> </div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3faefbce8f020b12394f6d37b982273a758"> 165</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3faefbce8f020b12394f6d37b982273a758">UNUM_UNIT_WIDTH_COUNT</a></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> } <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3f">UNumberUnitWidth</a>;</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div><div class="line"><a name="l00186"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9"> 186</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a> {</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a3919ed89463cc89fc7f25cbd9c9e4968"> 193</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a3919ed89463cc89fc7f25cbd9c9e4968">UNUM_SIGN_AUTO</a>,</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> </div><div class="line"><a name="l00200"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a1c62fa437fad105b04e5fcbf65167f4a"> 200</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a1c62fa437fad105b04e5fcbf65167f4a">UNUM_SIGN_ALWAYS</a>,</div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a54dff733ecf5a488b6176a3de58229f0"> 207</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a54dff733ecf5a488b6176a3de58229f0">UNUM_SIGN_NEVER</a>,</div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a3fcc7e72482eaa1f71e0a96506cf6ac2"> 223</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a3fcc7e72482eaa1f71e0a96506cf6ac2">UNUM_SIGN_ACCOUNTING</a>,</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div><div class="line"><a name="l00231"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a5bcfdf8a223dd757686edeeda2eca603"> 231</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a5bcfdf8a223dd757686edeeda2eca603">UNUM_SIGN_ACCOUNTING_ALWAYS</a>,</div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div><div class="line"><a name="l00238"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9ae5314fcda9c534ff8c6e686f967a4c54"> 238</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9ae5314fcda9c534ff8c6e686f967a4c54">UNUM_SIGN_COUNT</a></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> } <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a>;</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> </div><div class="line"><a name="l00250"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6"> 250</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6">UNumberDecimalSeparatorDisplay</a> {</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a93927951d26b124a5557235406f290d6"> 257</a></span>  <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a93927951d26b124a5557235406f290d6">UNUM_DECIMAL_SEPARATOR_AUTO</a>,</div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div><div class="line"><a name="l00264"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6abb6bc9885a6f2bee1795056d215f0522"> 264</a></span>  <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6abb6bc9885a6f2bee1795056d215f0522">UNUM_DECIMAL_SEPARATOR_ALWAYS</a>,</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div><div class="line"><a name="l00271"></a><span class="lineno"><a class="line" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a1d1b364e55dcabab30649afbaa200cd0"> 271</a></span>  <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a1d1b364e55dcabab30649afbaa200cd0">UNUM_DECIMAL_SEPARATOR_COUNT</a></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> } <a class="code" href="numberformatter_8h.html#a4ed32c7d02790f12deb1d9c9400ef581">UNumberDecimalMarkDisplay</a>;</div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> </div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a> <span class="keyword">namespace </span>number { <span class="comment">// icu::number</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> </div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="comment">// Forward declarations:</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="keyword">class </span>UnlocalizedNumberFormatter;</div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">class </span>LocalizedNumberFormatter;</div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="keyword">class </span>FormattedNumber;</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="keyword">class </span>Notation;</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="keyword">class </span>ScientificNotation;</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> <span class="keyword">class </span>Rounder;</div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="keyword">class </span>FractionRounder;</div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="keyword">class </span>CurrencyRounder;</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="keyword">class </span>IncrementRounder;</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span> <span class="keyword">class </span>Grouper;</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span> <span class="keyword">class </span>IntegerWidth;</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span> <span class="keyword">namespace </span>impl {</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span> </div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span> <span class="comment">// Forward declarations:</span></div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span> <span class="keyword">class </span>Padder;</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="keyword">struct </span>MacroProps;</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="keyword">struct </span>MicroProps;</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span> <span class="keyword">class </span>DecimalQuantity;</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="keyword">struct </span>NumberFormatterResults;</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span> <span class="keyword">class </span>NumberFormatterImpl;</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> <span class="keyword">struct </span>ParsedPatternInfo;</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <span class="keyword">class </span>ScientificModifier;</div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="keyword">class </span>MultiplierProducer;</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">class </span>MutablePatternModifier;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">class </span>LongNameHandler;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> <span class="keyword">class </span>ScientificHandler;</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span> <span class="keyword">class </span>CompactHandler;</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span> <span class="keyword">class </span>Modifier;</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">class </span>NumberStringBuilder;</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> } <span class="comment">// namespace impl</span></div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// Reserve extra names in case they are added as classes in the future:</span></div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span> <span class="keyword">typedef</span> Notation CompactNotation;</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span> <span class="keyword">typedef</span> Notation SimpleNotation;</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span> </div><div class="line"><a name="l00319"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1Notation.html"> 319</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1ScientificNotation.html">ScientificNotation</a> scientific();</div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1ScientificNotation.html">ScientificNotation</a> engineering();</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div><div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Notation.html">CompactNotation</a> compactShort();</div><div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Notation.html">CompactNotation</a> compactLong();</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Notation.html">SimpleNotation</a> simple();</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="keyword">enum</span> NotationType {</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  NTN_SCIENTIFIC, NTN_COMPACT, NTN_SIMPLE, NTN_ERROR</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  } fType;</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span> </div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keyword">union </span>NotationUnion {</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="comment">// For NTN_SCIENTIFIC</span></div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1Notation_1_1NotationUnion_1_1ScientificSettings.html"> 471</a></span>  <span class="keyword">struct </span><a class="code" href="structicu_1_1number_1_1Notation_1_1NotationUnion_1_1ScientificSettings.html">ScientificSettings</a> {</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  int8_t fEngineeringInterval;</div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="keywordtype">bool</span> fRequireMinInt;</div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  int8_t fMinExponentDigits;</div><div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a> fExponentSignDisplay;</div><div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  } scientific;</div><div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div><div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="comment">// For NTN_COMPACT</span></div><div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <a class="code" href="unum_8h.html#a48d230f58cc3dc322e2f2eb6dc1139ef">UNumberCompactStyle</a> compactStyle;</div><div class="line"><a name="l00480"></a><span class="lineno"> 480</span> </div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="comment">// For NTN_ERROR</span></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  } fUnion;</div><div class="line"><a name="l00484"></a><span class="lineno"> 484</span> </div><div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keyword">typedef</span> <a class="code" href="structicu_1_1number_1_1Notation_1_1NotationUnion_1_1ScientificSettings.html">NotationUnion::ScientificSettings</a> <a class="code" href="structicu_1_1number_1_1Notation_1_1NotationUnion_1_1ScientificSettings.html">ScientificSettings</a>;</div><div class="line"><a name="l00486"></a><span class="lineno"> 486</span> </div><div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a>(<span class="keyword">const</span> NotationType &type, <span class="keyword">const</span> NotationUnion &union_) : fType(type), fUnion(union_) {}</div><div class="line"><a name="l00488"></a><span class="lineno"> 488</span> </div><div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode) : fType(NTN_ERROR) {</div><div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  fUnion.errorCode = errorCode;</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  }</div><div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div><div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  Notation() : fType(NTN_SIMPLE), fUnion() {}</div><div class="line"><a name="l00494"></a><span class="lineno"> 494</span> </div><div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> copyErrorTo(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">if</span> (fType == NTN_ERROR) {</div><div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  status = fUnion.errorCode;</div><div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  }</div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>;</div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  }</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="comment">// To allow MacroProps to initialize empty instances:</span></div><div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="keyword">friend</span> <span class="keyword">struct </span>impl::MacroProps;</div><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keyword">friend</span> <span class="keyword">class </span>ScientificNotation;</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span> </div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="comment">// To allow implementation to access internal types:</span></div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::NumberFormatterImpl;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::ScientificModifier;</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::ScientificHandler;</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span> };</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1ScientificNotation.html"> 521</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1ScientificNotation.html">ScientificNotation</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a> {</div><div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  <a class="code" href="classicu_1_1number_1_1ScientificNotation.html">ScientificNotation</a> withMinExponentDigits(int32_t minExponentDigits) <span class="keyword">const</span>;</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <a class="code" href="classicu_1_1number_1_1ScientificNotation.html">ScientificNotation</a> withExponentSignDisplay(<a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a> exponentSignDisplay) <span class="keyword">const</span>;</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> </div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  <span class="comment">// Inherit constructor</span></div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">using</span> Notation::Notation;</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">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a>;</div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> };</div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> </div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="comment">// Reserve extra names in case they are added as classes in the future:</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keyword">typedef</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> <a class="code" href="classicu_1_1number_1_1Rounder.html">DigitRounder</a>;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div><div class="line"><a name="l00571"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1Rounder.html"> 571</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span> </div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> unlimited();</div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span> </div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1FractionRounder.html">FractionRounder</a> integer();</div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span> </div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1FractionRounder.html">FractionRounder</a> fixedFraction(int32_t minMaxFractionPlaces);</div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span> </div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1FractionRounder.html">FractionRounder</a> minFraction(int32_t minFractionPlaces);</div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1FractionRounder.html">FractionRounder</a> maxFraction(int32_t maxFractionPlaces);</div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1FractionRounder.html">FractionRounder</a> minMaxFraction(int32_t minFractionPlaces, int32_t maxFractionPlaces);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span> </div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">DigitRounder</a> fixedDigits(int32_t minMaxSignificantDigits);</div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">DigitRounder</a> minDigits(int32_t minSignificantDigits);</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span> </div><div class="line"><a name="l00708"></a><span class="lineno"> 708</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">DigitRounder</a> maxDigits(int32_t maxSignificantDigits);</div><div class="line"><a name="l00709"></a><span class="lineno"> 709</span> </div><div class="line"><a name="l00721"></a><span class="lineno"> 721</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">DigitRounder</a> minMaxDigits(int32_t minSignificantDigits, int32_t maxSignificantDigits);</div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1IncrementRounder.html">IncrementRounder</a> increment(<span class="keywordtype">double</span> roundingIncrement);</div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div><div class="line"><a name="l00760"></a><span class="lineno"> 760</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1CurrencyRounder.html">CurrencyRounder</a> currency(<a class="code" href="ucurr_8h.html#acb76397692c3225539789ce239a6c306">UCurrencyUsage</a> currencyUsage);</div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div><div class="line"><a name="l00771"></a><span class="lineno"> 771</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> withMode(<a class="code" href="unum_8h.html#a2f46653ee48f5d8d5b8e67d4a1b8230a">UNumberFormatRoundingMode</a> roundingMode) <span class="keyword">const</span>;</div><div class="line"><a name="l00772"></a><span class="lineno"> 772</span> </div><div class="line"><a name="l00773"></a><span class="lineno"> 773</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <span class="keyword">enum</span> RounderType {</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  RND_BOGUS,</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  RND_NONE,</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  RND_FRACTION,</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  RND_SIGNIFICANT,</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  RND_FRACTION_SIGNIFICANT,</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  RND_INCREMENT,</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span>  RND_CURRENCY,</div><div class="line"><a name="l00782"></a><span class="lineno"> 782</span>  RND_PASS_THROUGH,</div><div class="line"><a name="l00783"></a><span class="lineno"> 783</span>  RND_ERROR</div><div class="line"><a name="l00784"></a><span class="lineno"> 784</span>  } fType;</div><div class="line"><a name="l00785"></a><span class="lineno"> 785</span> </div><div class="line"><a name="l00786"></a><span class="lineno"> 786</span>  <span class="keyword">union </span>RounderUnion {</div><div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1FractionSignificantSettings.html"> 787</a></span>  <span class="keyword">struct </span><a class="code" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1FractionSignificantSettings.html">FractionSignificantSettings</a> {</div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span>  <span class="comment">// For RND_FRACTION, RND_SIGNIFICANT, and RND_FRACTION_SIGNIFICANT</span></div><div class="line"><a name="l00789"></a><span class="lineno"> 789</span>  int8_t fMinFrac;</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  int8_t fMaxFrac;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  int8_t fMinSig;</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span>  int8_t fMaxSig;</div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span>  } fracSig;</div><div class="line"><a name="l00794"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1IncrementSettings.html"> 794</a></span>  <span class="keyword">struct </span><a class="code" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1IncrementSettings.html">IncrementSettings</a> {</div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span>  <span class="keywordtype">double</span> fIncrement;</div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span>  int32_t fMinFrac;</div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span>  } increment; <span class="comment">// For RND_INCREMENT</span></div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <a class="code" href="ucurr_8h.html#acb76397692c3225539789ce239a6c306">UCurrencyUsage</a> currencyUsage; <span class="comment">// For RND_CURRENCY</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode; <span class="comment">// For RND_ERROR</span></div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span>  } fUnion;</div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span> </div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span>  <span class="keyword">typedef</span> <a class="code" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1FractionSignificantSettings.html">RounderUnion::FractionSignificantSettings</a> <a class="code" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1FractionSignificantSettings.html">FractionSignificantSettings</a>;</div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span>  <span class="keyword">typedef</span> <a class="code" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1IncrementSettings.html">RounderUnion::IncrementSettings</a> <a class="code" href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1IncrementSettings.html">IncrementSettings</a>;</div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> </div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span>  <a class="code" href="unum_8h.html#a2f46653ee48f5d8d5b8e67d4a1b8230a">UNumberFormatRoundingMode</a> fRoundingMode;</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span> </div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a>(<span class="keyword">const</span> RounderType &type, <span class="keyword">const</span> RounderUnion &union_, <a class="code" href="unum_8h.html#a2f46653ee48f5d8d5b8e67d4a1b8230a">UNumberFormatRoundingMode</a> roundingMode)</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span>  : fType(type), fUnion(union_), fRoundingMode(roundingMode) {}</div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode) : fType(RND_ERROR) {</div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span>  fUnion.errorCode = errorCode;</div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span>  }</div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span> </div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  Rounder() : fType(RND_BOGUS) {}</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span> </div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span>  <span class="keywordtype">bool</span> isBogus()<span class="keyword"> const </span>{</div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="keywordflow">return</span> fType == RND_BOGUS;</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  }</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> copyErrorTo(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="keywordflow">if</span> (fType == RND_ERROR) {</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span>  status = fUnion.errorCode;</div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  }</div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  }</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span> </div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  <span class="comment">// On the parent type so that this method can be called internally on Rounder instances.</span></div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  Rounder withCurrency(<span class="keyword">const</span> CurrencyUnit &currency, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> </div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span>  <span class="keywordtype">void</span> setLocaleData(<span class="keyword">const</span> CurrencyUnit &currency, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status);</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> </div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span>  <span class="keywordtype">void</span> apply(impl::DecimalQuantity &value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> </div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  <span class="keywordtype">void</span> apply(impl::DecimalQuantity &value, int32_t minInt, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> status);</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span> </div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  int32_t</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span>  chooseMultiplierAndApply(impl::DecimalQuantity &input, <span class="keyword">const</span> impl::MultiplierProducer &producer,</div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status);</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span> </div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span>  <span class="keyword">static</span> FractionRounder constructFraction(int32_t minFrac, int32_t maxFrac);</div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span> </div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span>  <span class="keyword">static</span> Rounder constructSignificant(int32_t minSig, int32_t maxSig);</div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span> </div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <span class="keyword">static</span> Rounder</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span>  constructFractionSignificant(<span class="keyword">const</span> FractionRounder &base, int32_t minSig, int32_t maxSig);</div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span> </div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <span class="keyword">static</span> IncrementRounder constructIncrement(<span class="keywordtype">double</span> increment, int32_t minFrac);</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keyword">static</span> CurrencyRounder constructCurrency(<a class="code" href="ucurr_8h.html#acb76397692c3225539789ce239a6c306">UCurrencyUsage</a> usage);</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <span class="keyword">static</span> Rounder constructPassThrough();</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span> </div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  <span class="comment">// To allow MacroProps/MicroProps to initialize bogus instances:</span></div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <span class="keyword">friend</span> <span class="keyword">struct </span>impl::MacroProps;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  <span class="keyword">friend</span> <span class="keyword">struct </span>impl::MicroProps;</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span> </div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="comment">// To allow NumberFormatterImpl to access isBogus() and other internal methods:</span></div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::NumberFormatterImpl;</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span> </div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="comment">// To give access to apply() and chooseMultiplierAndApply():</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::MutablePatternModifier;</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::LongNameHandler;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::ScientificHandler;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::CompactHandler;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span> </div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="comment">// To allow child classes to call private methods:</span></div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <span class="keyword">friend</span> <span class="keyword">class </span>FractionRounder;</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <span class="keyword">friend</span> <span class="keyword">class </span>CurrencyRounder;</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="keyword">friend</span> <span class="keyword">class </span>IncrementRounder;</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span> };</div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span> </div><div class="line"><a name="l00884"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1FractionRounder.html"> 884</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1FractionRounder.html">FractionRounder</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> {</div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> withMinDigits(int32_t minSignificantDigits) <span class="keyword">const</span>;</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span> </div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> withMaxDigits(int32_t maxSignificantDigits) <span class="keyword">const</span>;</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <span class="comment">// Inherit constructor</span></div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span>  <span class="keyword">using</span> Rounder::Rounder;</div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span> </div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <span class="comment">// To allow parent class to call this class's constructor:</span></div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a>;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span> };</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span> </div><div class="line"><a name="l00940"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1CurrencyRounder.html"> 940</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1CurrencyRounder.html">CurrencyRounder</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> {</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> withCurrency(<span class="keyword">const</span> <a class="code" href="classicu_1_1CurrencyUnit.html">CurrencyUnit</a> &currency) <span class="keyword">const</span>;</div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span> </div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span>  <span class="comment">// Inherit constructor</span></div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span>  <span class="keyword">using</span> Rounder::Rounder;</div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span> </div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="comment">// To allow parent class to call this class's constructor:</span></div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a>;</div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span> };</div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span> </div><div class="line"><a name="l00978"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1IncrementRounder.html"> 978</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1IncrementRounder.html">IncrementRounder</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> {</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> withMinFraction(int32_t minFrac) <span class="keyword">const</span>;</div><div class="line"><a name="l00996"></a><span class="lineno"> 996</span> </div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="comment">// Inherit constructor</span></div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <span class="keyword">using</span> Rounder::Rounder;</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span> </div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="comment">// To allow parent class to call this class's constructor:</span></div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a>;</div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span> };</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> </div><div class="line"><a name="l01008"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1Grouper.html"> 1008</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a> defaults();</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a> minTwoDigits();</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a> none();</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  int8_t fGrouping1; <span class="comment">// -3 means "bogus"; -2 means "needs locale data"; -1 means "no grouping"</span></div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  int8_t fGrouping2;</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  <span class="keywordtype">bool</span> fMin2;</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span> </div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a>(int8_t grouping1, int8_t grouping2, <span class="keywordtype">bool</span> min2)</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  : fGrouping1(grouping1), fGrouping2(grouping2), fMin2(min2) {}</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span> </div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a>() : fGrouping1(-3) {};</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span> </div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  <span class="keywordtype">bool</span> isBogus()<span class="keyword"> const </span>{</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  <span class="keywordflow">return</span> fGrouping1 == -3;</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  }</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span> </div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  <span class="keywordtype">void</span> setLocaleData(<span class="keyword">const</span> impl::ParsedPatternInfo &patternInfo);</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span> </div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  <span class="keywordtype">bool</span> groupAtPosition(int32_t position, <span class="keyword">const</span> impl::DecimalQuantity &value) <span class="keyword">const</span>;</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span> </div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  <span class="comment">// To allow MacroProps/MicroProps to initialize empty instances:</span></div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html">impl::MacroProps</a>;</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  <span class="keyword">friend</span> <span class="keyword">struct </span>impl::MicroProps;</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span> </div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  <span class="comment">// To allow NumberFormatterImpl to access isBogus() and perform other operations:</span></div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::NumberFormatterImpl;</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span> };</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span> </div><div class="line"><a name="l01061"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1IntegerWidth.html"> 1061</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a> zeroFillTo(int32_t minInt);</div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> </div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span>  <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a> truncateAt(int32_t maxInt);</div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> </div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span>  <span class="keyword">union </span>{</div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span>  <span class="keyword">struct </span>{</div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span>  int8_t fMinInt;</div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span>  int8_t fMaxInt;</div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span>  } minMaxInt;</div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode;</div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span>  } fUnion;</div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span>  <span class="keywordtype">bool</span> fHasError = <span class="keyword">false</span>;</div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> </div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span>  <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a>(int8_t minInt, int8_t maxInt);</div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> </div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span>  <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode) { <span class="comment">// NOLINT</span></div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span>  fUnion.errorCode = errorCode;</div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span>  fHasError = <span class="keyword">true</span>;</div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span>  }</div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> </div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span>  <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a>() { <span class="comment">// NOLINT</span></div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span>  fUnion.minMaxInt.fMinInt = -1;</div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span>  }</div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> </div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span>  <span class="keywordtype">bool</span> isBogus()<span class="keyword"> const </span>{</div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span>  <span class="keywordflow">return</span> !fHasError && fUnion.minMaxInt.fMinInt == -1;</div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span>  }</div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> </div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> copyErrorTo(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)<span class="keyword"> const </span>{</div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span>  <span class="keywordflow">if</span> (fHasError) {</div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span>  status = fUnion.errorCode;</div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span>  }</div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>;</div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span>  }</div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> </div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span>  <span class="keywordtype">void</span> apply(impl::DecimalQuantity &quantity, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> </div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span>  <span class="comment">// To allow MacroProps/MicroProps to initialize empty instances:</span></div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span>  <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html">impl::MacroProps</a>;</div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span>  <span class="keyword">friend</span> <span class="keyword">struct </span>impl::MicroProps;</div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> </div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span>  <span class="comment">// To allow NumberFormatterImpl to access isBogus() and perform other operations:</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::NumberFormatterImpl;</div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> };</div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> </div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="keyword">namespace </span>impl {</div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> </div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="keyword">static</span> constexpr int32_t DEFAULT_THRESHOLD = 3;</div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div><div class="line"><a name="l01144"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html"> 1144</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html">SymbolsWrapper</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01147"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#a132e96331b08a4659c8eed61882130dd"> 1147</a></span>  <a class="code" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#a132e96331b08a4659c8eed61882130dd">SymbolsWrapper</a>() : fType(SYMPTR_NONE), fPtr{<span class="keyword">nullptr</span>} {}</div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> </div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span>  SymbolsWrapper(<span class="keyword">const</span> SymbolsWrapper &other);</div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> </div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span>  ~SymbolsWrapper();</div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> </div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span>  SymbolsWrapper &operator=(<span class="keyword">const</span> SymbolsWrapper &other);</div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> </div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span>  <span class="keywordtype">void</span> setTo(<span class="keyword">const</span> <a class="code" href="classicu_1_1DecimalFormatSymbols.html">DecimalFormatSymbols</a> &dfs);</div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> </div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  <span class="keywordtype">void</span> setTo(<span class="keyword">const</span> <a class="code" href="classicu_1_1NumberingSystem.html">NumberingSystem</a> *ns);</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span> </div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  <span class="keywordtype">bool</span> isDecimalFormatSymbols() <span class="keyword">const</span>;</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span> </div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  <span class="keywordtype">bool</span> isNumberingSystem() <span class="keyword">const</span>;</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span> </div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1DecimalFormatSymbols.html">DecimalFormatSymbols</a> *getDecimalFormatSymbols() <span class="keyword">const</span>;</div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> </div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1NumberingSystem.html">NumberingSystem</a> *getNumberingSystem() <span class="keyword">const</span>;</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span> </div><div class="line"><a name="l01195"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#ad9fc6bc1a446a8a9d78045aab90ec5e5"> 1195</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#ad9fc6bc1a446a8a9d78045aab90ec5e5">copyErrorTo</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)<span class="keyword"> const </span>{</div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  <span class="keywordflow">if</span> (fType == SYMPTR_DFS && fPtr.dfs == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca243253eeb4885e17158b876849063269">U_MEMORY_ALLOCATION_ERROR</a>;</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (fType == SYMPTR_NS && fPtr.ns == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca243253eeb4885e17158b876849063269">U_MEMORY_ALLOCATION_ERROR</a>;</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  }</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>;</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  }</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span> </div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  <span class="keyword">enum</span> SymbolsPointerType {</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  SYMPTR_NONE, SYMPTR_DFS, SYMPTR_NS</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  } fType;</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span> </div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  <span class="keyword">union </span>{</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1DecimalFormatSymbols.html">DecimalFormatSymbols</a> *dfs;</div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1NumberingSystem.html">NumberingSystem</a> *ns;</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  } fPtr;</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span> </div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  <span class="keywordtype">void</span> doCopyFrom(<span class="keyword">const</span> SymbolsWrapper &other);</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span> </div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  <span class="keywordtype">void</span> doCleanup();</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span> };</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span> </div><div class="line"><a name="l01222"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1impl_1_1Padder.html"> 1222</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a> none();</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span> </div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a> codePoints(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> cp, int32_t targetWidth, <a class="code" href="unum_8h.html#ac87c18f94d2d615aa25cd5581ff908f5">UNumberFormatPadPosition</a> position);</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span> </div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>  <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> fWidth; <span class="comment">// -3 = error; -2 = bogus; -1 = no padding</span></div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  <span class="keyword">union </span>{</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  <span class="keyword">struct </span>{</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  int32_t fCp;</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  <a class="code" href="unum_8h.html#ac87c18f94d2d615aa25cd5581ff908f5">UNumberFormatPadPosition</a> fPosition;</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>  } padding;</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode;</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>  } fUnion;</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span> </div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a>(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> cp, int32_t width, <a class="code" href="unum_8h.html#ac87c18f94d2d615aa25cd5581ff908f5">UNumberFormatPadPosition</a> position);</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span> </div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>  <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a>(int32_t width);</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span> </div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>  <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode) : fWidth(-3) { <span class="comment">// NOLINT</span></div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>  fUnion.errorCode = errorCode;</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  }</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span> </div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a>() : fWidth(-2) {} <span class="comment">// NOLINT</span></div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span>  <span class="keywordtype">bool</span> isBogus()<span class="keyword"> const </span>{</div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span>  <span class="keywordflow">return</span> fWidth == -2;</div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span>  }</div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> </div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> copyErrorTo(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)<span class="keyword"> const </span>{</div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span>  <span class="keywordflow">if</span> (fWidth == -3) {</div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span>  status = fUnion.errorCode;</div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span>  }</div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a>;</div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span>  }</div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> </div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span>  <span class="keywordtype">bool</span> isValid()<span class="keyword"> const </span>{</div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span>  <span class="keywordflow">return</span> fWidth > 0;</div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span>  }</div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> </div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span>  int32_t padAndApply(<span class="keyword">const</span> impl::Modifier &mod1, <span class="keyword">const</span> impl::Modifier &mod2,</div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span>  impl::NumberStringBuilder &<span class="keywordtype">string</span>, int32_t leftIndex, int32_t rightIndex,</div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> </div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span>  <span class="comment">// To allow MacroProps/MicroProps to initialize empty instances:</span></div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span>  <span class="keyword">friend</span> <span class="keyword">struct </span><a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html">MacroProps</a>;</div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  <span class="keyword">friend</span> <span class="keyword">struct </span>MicroProps;</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span> </div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  <span class="comment">// To allow NumberFormatterImpl to access isBogus() and perform other operations:</span></div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  <span class="keyword">friend</span> <span class="keyword">class </span>impl::NumberFormatterImpl;</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span> };</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span> </div><div class="line"><a name="l01279"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html"> 1279</a></span> <span class="keyword">struct </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html">MacroProps</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01281"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#af4069552e7f309ff29d7d41e08841ce2"> 1281</a></span>  <a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#af4069552e7f309ff29d7d41e08841ce2">notation</a>;</div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div><div class="line"><a name="l01284"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#ae62d67644319b6af92aa0269ecd13fcd"> 1284</a></span>  <a class="code" href="classicu_1_1MeasureUnit.html">MeasureUnit</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#ae62d67644319b6af92aa0269ecd13fcd">unit</a>; <span class="comment">// = NoUnit::base();</span></div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span> </div><div class="line"><a name="l01287"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a889408af6206224ce9aa3d9ada5760aa"> 1287</a></span>  <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a889408af6206224ce9aa3d9ada5760aa">rounder</a>; <span class="comment">// = Rounder(); (bogus)</span></div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span> </div><div class="line"><a name="l01290"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#ae4711fcc8a3ea52cea6daf8a6186c479"> 1290</a></span>  <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#ae4711fcc8a3ea52cea6daf8a6186c479">grouper</a>; <span class="comment">// = Grouper(); (bogus)</span></div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span> </div><div class="line"><a name="l01293"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#ade9c41d926e00cb2f414411b803d16df"> 1293</a></span>  <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">Padder</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#ade9c41d926e00cb2f414411b803d16df">padder</a>; <span class="comment">// = Padder(); (bogus)</span></div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span> </div><div class="line"><a name="l01296"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#aabb9b8527674bf0ce67b16ebabd58582"> 1296</a></span>  <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#aabb9b8527674bf0ce67b16ebabd58582">integerWidth</a>; <span class="comment">// = IntegerWidth(); (bogus)</span></div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span> </div><div class="line"><a name="l01299"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#afaed80bdd7f1a91109b9ab87e91c1c7f"> 1299</a></span>  <a class="code" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html">SymbolsWrapper</a> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#afaed80bdd7f1a91109b9ab87e91c1c7f">symbols</a>;</div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span> </div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span>  <span class="comment">// UNUM_XYZ_COUNT denotes null (bogus) values.</span></div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div><div class="line"><a name="l01304"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a474cda1c1bd8edea73a7136b373d652a"> 1304</a></span>  <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3f">UNumberUnitWidth</a> unitWidth = <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3faefbce8f020b12394f6d37b982273a758">UNUM_UNIT_WIDTH_COUNT</a>;</div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> </div><div class="line"><a name="l01307"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#aaab263cf4a6658b55496d08c81776b99"> 1307</a></span>  <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a> sign = <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9ae5314fcda9c534ff8c6e686f967a4c54">UNUM_SIGN_COUNT</a>;</div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> </div><div class="line"><a name="l01310"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a1e549d591b581d2cd36dab521f5e4253"> 1310</a></span>  <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6">UNumberDecimalSeparatorDisplay</a> decimal = <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a1d1b364e55dcabab30649afbaa200cd0">UNUM_DECIMAL_SEPARATOR_COUNT</a>;</div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> </div><div class="line"><a name="l01313"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a178b7b842dbdf445c81d461bff1eea33"> 1313</a></span>  <a class="code" href="classicu_1_1PluralRules.html">PluralRules</a> *rules = <span class="keyword">nullptr</span>; <span class="comment">// no ownership</span></div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> </div><div class="line"><a name="l01316"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#aad9a0d8ce67029310c353dc977e4ebb0"> 1316</a></span>  int32_t threshold = DEFAULT_THRESHOLD;</div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span>  <a class="code" href="classicu_1_1Locale.html">Locale</a> locale;</div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> </div><div class="line"><a name="l01323"></a><span class="lineno"><a class="line" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a0857bd93bd2fff0e854069da84ac5426"> 1323</a></span>  <span class="keywordtype">bool</span> <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html#a0857bd93bd2fff0e854069da84ac5426">copyErrorTo</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)<span class="keyword"> const </span>{</div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span>  <span class="keywordflow">return</span> notation.copyErrorTo(status) || rounder.copyErrorTo(status) ||</div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span>  padder.copyErrorTo(status) || integerWidth.copyErrorTo(status) ||</div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span>  symbols.<a class="code" href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#ad9fc6bc1a446a8a9d78045aab90ec5e5">copyErrorTo</a>(status);</div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span>  }</div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> };</div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> </div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> } <span class="comment">// namespace impl</span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> </div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="keyword">template</span><<span class="keyword">typename</span> Derived></div><div class="line"><a name="l01337"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1NumberFormatterSettings.html"> 1337</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a> {</div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span>  Derived notation(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1Notation.html">Notation</a> &notation) <span class="keyword">const</span>;</div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> </div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>  Derived unit(<span class="keyword">const</span> <a class="code" href="classicu_1_1MeasureUnit.html">icu::MeasureUnit</a> &unit) <span class="keyword">const</span>;</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span> </div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>  Derived adoptUnit(<span class="keyword">const</span> <a class="code" href="classicu_1_1MeasureUnit.html">icu::MeasureUnit</a> *unit) <span class="keyword">const</span>;</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span> </div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  Derived rounding(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1Rounder.html">Rounder</a> &rounder) <span class="keyword">const</span>;</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span> </div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span> </div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span>  Derived grouping(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1Grouper.html">Grouper</a> &grouper) <span class="keyword">const</span>;</div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> </div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> </div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span>  Derived integerWidth(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1IntegerWidth.html">IntegerWidth</a> &style) <span class="keyword">const</span>;</div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> </div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span>  Derived symbols(<span class="keyword">const</span> <a class="code" href="classicu_1_1DecimalFormatSymbols.html">DecimalFormatSymbols</a> &symbols) <span class="keyword">const</span>;</div><div class="line"><a name="l01561"></a><span class="lineno"> 1561</span> </div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  Derived adoptSymbols(<span class="keyword">const</span> <a class="code" href="classicu_1_1NumberingSystem.html">NumberingSystem</a> *symbols) <span class="keyword">const</span>;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span> </div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>  Derived unitWidth(<span class="keyword">const</span> <a class="code" href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3f">UNumberUnitWidth</a> &width) <span class="keyword">const</span>;</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span> </div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>  Derived sign(<span class="keyword">const</span> <a class="code" href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a> &width) <span class="keyword">const</span>;</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span> </div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span>  Derived decimal(<span class="keyword">const</span> <a class="code" href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6">UNumberDecimalSeparatorDisplay</a> &width) <span class="keyword">const</span>;</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span> </div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span> </div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  Derived padding(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1impl_1_1Padder.html">impl::Padder</a> &padder) <span class="keyword">const</span>;</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span> </div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>  Derived threshold(int32_t threshold) <span class="keyword">const</span>;</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> </div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> </div><div class="line"><a name="l01705"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1NumberFormatterSettings.html#a8e9fa209d30169e4a4643a22d509459d"> 1705</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html#a8e9fa209d30169e4a4643a22d509459d">copyErrorTo</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &outErrorCode)<span class="keyword"> const </span>{</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f">U_FAILURE</a>(outErrorCode)) {</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  <span class="comment">// Do not overwrite the older error code</span></div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span>  <span class="keywordflow">return</span> <a class="code" href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a>;</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span>  }</div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span>  fMacros.copyErrorTo(outErrorCode);</div><div class="line"><a name="l01711"></a><span class="lineno"> 1711</span>  <span class="keywordflow">return</span> <a class="code" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f">U_FAILURE</a>(outErrorCode);</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span>  }</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span> </div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span>  <span class="keyword">protected</span>:</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span>  <a class="code" href="structicu_1_1number_1_1impl_1_1MacroProps.html">impl::MacroProps</a> fMacros;</div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> </div><div class="line"><a name="l01717"></a><span class="lineno"> 1717</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span>  <span class="comment">// Don't construct me directly! Use (Un)LocalizedNumberFormatter.</span></div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>  <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span> </div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a>;</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a>;</div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> };</div><div class="line"><a name="l01724"></a><span class="lineno"> 1724</span> </div><div class="line"><a name="l01731"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html"> 1731</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a></div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>  : <span class="keyword">public</span> <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a><UnlocalizedNumberFormatter>, <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> </div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>  <a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a> locale(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html">icu::Locale</a> &locale) <span class="keyword">const</span>;</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> </div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span>  <span class="comment">// Make default copy constructor call the NumberFormatterSettings copy constructor.</span></div><div class="line"><a name="l01758"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html#a6cc5e27cecb1beca9bb2520ee6734e2f"> 1758</a></span> <span class="comment"></span> <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html#a6cc5e27cecb1beca9bb2520ee6734e2f">UnlocalizedNumberFormatter</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a> &other) : <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a>(</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span>  static_cast<const <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a><<a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a>> &>(other)) {}</div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> </div><div class="line"><a name="l01761"></a><span class="lineno"> 1761</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span>  <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a>() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span> </div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span>  <span class="keyword">explicit</span> <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a>(</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings<UnlocalizedNumberFormatter></a> &other);</div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> </div><div class="line"><a name="l01767"></a><span class="lineno"> 1767</span>  <span class="comment">// To give the fluent setters access to this class's constructor:</span></div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a><<a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a>>;</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span> </div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>  <span class="comment">// To give NumberFormatter::with() access to this class's constructor:</span></div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1NumberFormatter.html">NumberFormatter</a>;</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> };</div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> </div><div class="line"><a name="l01780"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1LocalizedNumberFormatter.html"> 1780</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a></div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span>  : <span class="keyword">public</span> <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a><LocalizedNumberFormatter>, <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a> formatInt(int64_t value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span> </div><div class="line"><a name="l01807"></a><span class="lineno"> 1807</span>  <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a> formatDouble(<span class="keywordtype">double</span> value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l01808"></a><span class="lineno"> 1808</span> </div><div class="line"><a name="l01823"></a><span class="lineno"> 1823</span>  <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a> formatDecimal(<a class="code" href="classicu_1_1StringPiece.html">StringPiece</a> value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l01824"></a><span class="lineno"> 1824</span> </div><div class="line"><a name="l01825"></a><span class="lineno"> 1825</span>  <span class="comment">// Make default copy constructor call the NumberFormatterSettings copy constructor.</span></div><div class="line"><a name="l01830"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1LocalizedNumberFormatter.html#a5777edd3b70644655d63b2c66aeb1a01"> 1830</a></span> <span class="comment"></span> <a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html#a5777edd3b70644655d63b2c66aeb1a01">LocalizedNumberFormatter</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a> &other) : <a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a>(</div><div class="line"><a name="l01831"></a><span class="lineno"> 1831</span>  static_cast<const <a class="code" href="classicu_1_1number_1_1NumberFormatterSettings.html">NumberFormatterSettings</a><<a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a>> &>(other)) {}</div><div class="line"><a name="l01832"></a><span class="lineno"> 1832</span> </div><div class="line"><a name="l01837"></a><span class="lineno"> 1837</span>  ~<a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a>();</div><div class="line"><a name="l01838"></a><span class="lineno"> 1838</span> </div><div class="line"><a name="l01839"></a><span class="lineno"> 1839</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01840"></a><span class="lineno"> 1840</span>  <span class="keyword">const</span> impl::NumberFormatterImpl* fCompiled {<span class="keyword">nullptr</span>};</div><div class="line"><a name="l01841"></a><span class="lineno"> 1841</span>  <span class="keywordtype">char</span> fUnsafeCallCount[8] {}; <span class="comment">// internally cast to u_atomic_int32_t</span></div><div class="line"><a name="l01842"></a><span class="lineno"> 1842</span> </div><div class="line"><a name="l01843"></a><span class="lineno"> 1843</span>  LocalizedNumberFormatter() = <span class="keywordflow">default</span>;</div><div class="line"><a name="l01844"></a><span class="lineno"> 1844</span> </div><div class="line"><a name="l01845"></a><span class="lineno"> 1845</span>  <span class="keyword">explicit</span> LocalizedNumberFormatter(<span class="keyword">const</span> NumberFormatterSettings<LocalizedNumberFormatter> &other);</div><div class="line"><a name="l01846"></a><span class="lineno"> 1846</span> </div><div class="line"><a name="l01847"></a><span class="lineno"> 1847</span>  LocalizedNumberFormatter(<span class="keyword">const</span> impl::MacroProps &macros, <span class="keyword">const</span> Locale &locale);</div><div class="line"><a name="l01848"></a><span class="lineno"> 1848</span> </div><div class="line"><a name="l01860"></a><span class="lineno"> 1860</span>  FormattedNumber formatImpl(impl::NumberFormatterResults *results, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) <span class="keyword">const</span>;</div><div class="line"><a name="l01861"></a><span class="lineno"> 1861</span> </div><div class="line"><a name="l01862"></a><span class="lineno"> 1862</span>  <span class="comment">// To give the fluent setters access to this class's constructor:</span></div><div class="line"><a name="l01863"></a><span class="lineno"> 1863</span>  <span class="keyword">friend</span> <span class="keyword">class </span>NumberFormatterSettings<UnlocalizedNumberFormatter>;</div><div class="line"><a name="l01864"></a><span class="lineno"> 1864</span>  <span class="keyword">friend</span> <span class="keyword">class </span>NumberFormatterSettings<LocalizedNumberFormatter>;</div><div class="line"><a name="l01865"></a><span class="lineno"> 1865</span> </div><div class="line"><a name="l01866"></a><span class="lineno"> 1866</span>  <span class="comment">// To give UnlocalizedNumberFormatter::locale() access to this class's constructor:</span></div><div class="line"><a name="l01867"></a><span class="lineno"> 1867</span>  <span class="keyword">friend</span> <span class="keyword">class </span>UnlocalizedNumberFormatter;</div><div class="line"><a name="l01868"></a><span class="lineno"> 1868</span> };</div><div class="line"><a name="l01869"></a><span class="lineno"> 1869</span> </div><div class="line"><a name="l01876"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1FormattedNumber.html"> 1876</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l01877"></a><span class="lineno"> 1877</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01884"></a><span class="lineno"> 1884</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> toString() <span class="keyword">const</span>;</div><div class="line"><a name="l01885"></a><span class="lineno"> 1885</span> </div><div class="line"><a name="l01895"></a><span class="lineno"> 1895</span>  <a class="code" href="classicu_1_1Appendable.html">Appendable</a> &appendTo(<a class="code" href="classicu_1_1Appendable.html">Appendable</a> &appendable);</div><div class="line"><a name="l01896"></a><span class="lineno"> 1896</span> </div><div class="line"><a name="l01916"></a><span class="lineno"> 1916</span>  <span class="keywordtype">void</span> populateFieldPosition(<a class="code" href="classicu_1_1FieldPosition.html">FieldPosition</a> &fieldPosition, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status);</div><div class="line"><a name="l01917"></a><span class="lineno"> 1917</span> </div><div class="line"><a name="l01932"></a><span class="lineno"> 1932</span>  <span class="keywordtype">void</span> populateFieldPositionIterator(<a class="code" href="classicu_1_1FieldPositionIterator.html">FieldPositionIterator</a> &iterator, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status);</div><div class="line"><a name="l01933"></a><span class="lineno"> 1933</span> </div><div class="line"><a name="l01938"></a><span class="lineno"> 1938</span>  ~<a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a>();</div><div class="line"><a name="l01939"></a><span class="lineno"> 1939</span> </div><div class="line"><a name="l01940"></a><span class="lineno"> 1940</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l01941"></a><span class="lineno"> 1941</span>  <span class="comment">// Can't use LocalPointer because NumberFormatterResults is forward-declared</span></div><div class="line"><a name="l01942"></a><span class="lineno"> 1942</span>  <span class="keyword">const</span> impl::NumberFormatterResults *fResults;</div><div class="line"><a name="l01943"></a><span class="lineno"> 1943</span> </div><div class="line"><a name="l01944"></a><span class="lineno"> 1944</span>  <span class="comment">// Error code for the terminal methods</span></div><div class="line"><a name="l01945"></a><span class="lineno"> 1945</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> fErrorCode;</div><div class="line"><a name="l01946"></a><span class="lineno"> 1946</span> </div><div class="line"><a name="l01947"></a><span class="lineno"> 1947</span>  <span class="keyword">explicit</span> <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a>(impl::NumberFormatterResults *results)</div><div class="line"><a name="l01948"></a><span class="lineno"> 1948</span>  : fResults(results), fErrorCode(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a>) {};</div><div class="line"><a name="l01949"></a><span class="lineno"> 1949</span> </div><div class="line"><a name="l01950"></a><span class="lineno"> 1950</span>  <span class="keyword">explicit</span> <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">FormattedNumber</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> errorCode)</div><div class="line"><a name="l01951"></a><span class="lineno"> 1951</span>  : fResults(<span class="keyword">nullptr</span>), fErrorCode(errorCode) {};</div><div class="line"><a name="l01952"></a><span class="lineno"> 1952</span> </div><div class="line"><a name="l01953"></a><span class="lineno"> 1953</span>  <span class="comment">// To give LocalizedNumberFormatter format methods access to this class's constructor:</span></div><div class="line"><a name="l01954"></a><span class="lineno"> 1954</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a>;</div><div class="line"><a name="l01955"></a><span class="lineno"> 1955</span> };</div><div class="line"><a name="l01956"></a><span class="lineno"> 1956</span> </div><div class="line"><a name="l01962"></a><span class="lineno"><a class="line" href="classicu_1_1number_1_1NumberFormatter.html"> 1962</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> <a class="code" href="classicu_1_1number_1_1NumberFormatter.html">NumberFormatter</a> final {</div><div class="line"><a name="l01963"></a><span class="lineno"> 1963</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l01971"></a><span class="lineno"> 1971</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">UnlocalizedNumberFormatter</a> with();</div><div class="line"><a name="l01972"></a><span class="lineno"> 1972</span> </div><div class="line"><a name="l01982"></a><span class="lineno"> 1982</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1number_1_1LocalizedNumberFormatter.html">LocalizedNumberFormatter</a> withLocale(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html">Locale</a> &locale);</div><div class="line"><a name="l01983"></a><span class="lineno"> 1983</span> </div><div class="line"><a name="l01988"></a><span class="lineno"> 1988</span>  <a class="code" href="classicu_1_1number_1_1NumberFormatter.html">NumberFormatter</a>() = <span class="keyword">delete</span>;</div><div class="line"><a name="l01989"></a><span class="lineno"> 1989</span> };</div><div class="line"><a name="l01990"></a><span class="lineno"> 1990</span> </div><div class="line"><a name="l01991"></a><span class="lineno"> 1991</span> } <span class="comment">// namespace number</span></div><div class="line"><a name="l01992"></a><span class="lineno"> 1992</span> <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a></div><div class="line"><a name="l01993"></a><span class="lineno"> 1993</span> </div><div class="line"><a name="l01994"></a><span class="lineno"> 1994</span> <span class="preprocessor">#endif // U_HIDE_DRAFT_API</span></div><div class="line"><a name="l01995"></a><span class="lineno"> 1995</span> </div><div class="line"><a name="l01996"></a><span class="lineno"> 1996</span> <span class="preprocessor">#endif // __NUMBERFORMATTER_H__</span></div><div class="line"><a name="l01997"></a><span class="lineno"> 1997</span> </div><div class="line"><a name="l01998"></a><span class="lineno"> 1998</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_FORMATTING */</span><span class="preprocessor"></span></div><div class="ttc" id="classicu_1_1DecimalFormatSymbols_html"><div class="ttname"><a href="classicu_1_1DecimalFormatSymbols.html">icu::DecimalFormatSymbols</a></div><div class="ttdoc">This class represents the set of symbols needed by DecimalFormat to format numbers. </div><div class="ttdef"><b>Definition:</b> <a href="dcfmtsym_8h_source.html#l00088">dcfmtsym.h:88</a></div></div> <div class="ttc" id="numberformatter_8h_html_a1e0fe0c910e360dda5cdad3387e5a0c6abb6bc9885a6f2bee1795056d215f0522"><div class="ttname"><a href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6abb6bc9885a6f2bee1795056d215f0522">UNUM_DECIMAL_SEPARATOR_ALWAYS</a></div><div class="ttdoc">Always show the decimal separator, even if there are no digits to display after the separator...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00264">numberformatter.h:264</a></div></div> <div class="ttc" id="unum_8h_html_a2f46653ee48f5d8d5b8e67d4a1b8230a"><div class="ttname"><a href="unum_8h.html#a2f46653ee48f5d8d5b8e67d4a1b8230a">UNumberFormatRoundingMode</a></div><div class="ttdeci">UNumberFormatRoundingMode</div><div class="ttdoc">The possible number format rounding modes. </div><div class="ttdef"><b>Definition:</b> <a href="unum_8h_source.html#l00275">unum.h:275</a></div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9ae5314fcda9c534ff8c6e686f967a4c54"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9ae5314fcda9c534ff8c6e686f967a4c54">UNUM_SIGN_COUNT</a></div><div class="ttdoc">One more than the highest UNumberSignDisplay value. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00238">numberformatter.h:238</a></div></div> <div class="ttc" id="classicu_1_1number_1_1IncrementRounder_html"><div class="ttname"><a href="classicu_1_1number_1_1IncrementRounder.html">icu::number::IncrementRounder</a></div><div class="ttdoc">A class that defines a rounding strategy parameterized by a rounding increment to be used when format...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00978">numberformatter.h:978</a></div></div> <div class="ttc" id="classicu_1_1MeasureUnit_html"><div class="ttname"><a href="classicu_1_1MeasureUnit.html">icu::MeasureUnit</a></div><div class="ttdoc">A unit such as length, mass, volume, currency, etc. </div><div class="ttdef"><b>Definition:</b> <a href="measunit_8h_source.html#l00038">measunit.h:38</a></div></div> <div class="ttc" id="currunit_8h_html"><div class="ttname"><a href="currunit_8h.html">currunit.h</a></div><div class="ttdoc">C++ API: Currency Unit Information. </div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_ade9c41d926e00cb2f414411b803d16df"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#ade9c41d926e00cb2f414411b803d16df">icu::number::impl::MacroProps::padder</a></div><div class="ttdeci">Padder padder</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01293">numberformatter.h:1293</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_a889408af6206224ce9aa3d9ada5760aa"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#a889408af6206224ce9aa3d9ada5760aa">icu::number::impl::MacroProps::rounder</a></div><div class="ttdeci">Rounder rounder</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01287">numberformatter.h:1287</a></div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3fad0ce2ec95aad4c8c32967b9e2f84fcfb"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fad0ce2ec95aad4c8c32967b9e2f84fcfb">UNUM_UNIT_WIDTH_ISO_CODE</a></div><div class="ttdoc">Use the three-digit ISO XXX code in place of the symbol for displaying currencies. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00149">numberformatter.h:149</a></div></div> <div class="ttc" id="classicu_1_1number_1_1NumberFormatter_html"><div class="ttname"><a href="classicu_1_1number_1_1NumberFormatter.html">icu::number::NumberFormatter</a></div><div class="ttdoc">See the main description in numberformatter.h for documentation and examples. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01962">numberformatter.h:1962</a></div></div> <div class="ttc" id="classicu_1_1number_1_1FractionRounder_html"><div class="ttname"><a href="classicu_1_1number_1_1FractionRounder.html">icu::number::FractionRounder</a></div><div class="ttdoc">A class that defines a rounding strategy based on a number of fraction places and optionally signific...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00884">numberformatter.h:884</a></div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9a3fcc7e72482eaa1f71e0a96506cf6ac2"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a3fcc7e72482eaa1f71e0a96506cf6ac2">UNUM_SIGN_ACCOUNTING</a></div><div class="ttdoc">Use the locale-dependent accounting format on negative numbers, and do not show the sign on positive ...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00223">numberformatter.h:223</a></div></div> <div class="ttc" id="utypes_8h_html_a4d202200b6aa6f3c965ea370e0c8155f"><div class="ttname"><a href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f">U_FAILURE</a></div><div class="ttdeci">#define U_FAILURE(x)</div><div class="ttdoc">Does the error code indicate a failure? </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00688">utypes.h:688</a></div></div> <div class="ttc" id="classicu_1_1number_1_1IntegerWidth_html"><div class="ttname"><a href="classicu_1_1number_1_1IntegerWidth.html">icu::number::IntegerWidth</a></div><div class="ttdoc">A class that defines the strategy for padding and truncating integers before the decimal separator...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01061">numberformatter.h:1061</a></div></div> <div class="ttc" id="numberformatter_8h_html_a4ed32c7d02790f12deb1d9c9400ef581"><div class="ttname"><a href="numberformatter_8h.html#a4ed32c7d02790f12deb1d9c9400ef581">UNumberDecimalMarkDisplay</a></div><div class="ttdeci">enum UNumberDecimalSeparatorDisplay UNumberDecimalMarkDisplay</div><div class="ttdoc">An enum declaring how to render the decimal separator. </div></div> <div class="ttc" id="fpositer_8h_html"><div class="ttname"><a href="fpositer_8h.html">fpositer.h</a></div><div class="ttdoc">C++ API: FieldPosition Iterator. </div></div> <div class="ttc" id="classicu_1_1number_1_1Rounder_html"><div class="ttname"><a href="classicu_1_1number_1_1Rounder.html">icu::number::Rounder</a></div><div class="ttdoc">A class that defines the rounding strategy to be used when formatting numbers in NumberFormatter. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00571">numberformatter.h:571</a></div></div> <div class="ttc" id="classicu_1_1number_1_1LocalizedNumberFormatter_html_a5777edd3b70644655d63b2c66aeb1a01"><div class="ttname"><a href="classicu_1_1number_1_1LocalizedNumberFormatter.html#a5777edd3b70644655d63b2c66aeb1a01">icu::number::LocalizedNumberFormatter::LocalizedNumberFormatter</a></div><div class="ttdeci">LocalizedNumberFormatter(const LocalizedNumberFormatter &other)</div><div class="ttdoc">Returns a copy of this LocalizedNumberFormatter. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01830">numberformatter.h:1830</a></div></div> <div class="ttc" id="classicu_1_1NumberingSystem_html"><div class="ttname"><a href="classicu_1_1NumberingSystem.html">icu::NumberingSystem</a></div><div class="ttdoc">Defines numbering systems. </div><div class="ttdef"><b>Definition:</b> <a href="numsys_8h_source.html#l00060">numsys.h:60</a></div></div> <div class="ttc" id="appendable_8h_html"><div class="ttname"><a href="appendable_8h.html">appendable.h</a></div><div class="ttdoc">C++ API: Appendable class: Sink for Unicode code points and 16-bit code units (char16_ts). </div></div> <div class="ttc" id="nounit_8h_html"><div class="ttname"><a href="nounit_8h.html">nounit.h</a></div><div class="ttdoc">C++ API: units for percent and permille. </div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78caa43dbfc9499c5f911d04e1a0ca3bf6f9">U_ZERO_ERROR</a></div><div class="ttdoc">No error, no warning. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00430">utypes.h:430</a></div></div> <div class="ttc" id="plurrule_8h_html"><div class="ttname"><a href="plurrule_8h.html">plurrule.h</a></div><div class="ttdoc">C++ API: PluralRules object. </div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9a54dff733ecf5a488b6176a3de58229f0"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a54dff733ecf5a488b6176a3de58229f0">UNUM_SIGN_NEVER</a></div><div class="ttdoc">Do not show the sign on positive or negative numbers. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00207">numberformatter.h:207</a></div></div> <div class="ttc" id="classicu_1_1PluralRules_html"><div class="ttname"><a href="classicu_1_1PluralRules.html">icu::PluralRules</a></div><div class="ttdoc">Defines rules for mapping non-negative numeric values onto a small set of keywords. </div><div class="ttdef"><b>Definition:</b> <a href="plurrule_8h_source.html#l00197">plurrule.h:197</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78ca243253eeb4885e17158b876849063269"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca243253eeb4885e17158b876849063269">U_MEMORY_ALLOCATION_ERROR</a></div><div class="ttdoc">Memory allocation error. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00438">utypes.h:438</a></div></div> <div class="ttc" id="structicu_1_1number_1_1Notation_1_1NotationUnion_1_1ScientificSettings_html"><div class="ttname"><a href="structicu_1_1number_1_1Notation_1_1NotationUnion_1_1ScientificSettings.html">icu::number::Notation::NotationUnion::ScientificSettings</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00471">numberformatter.h:471</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html">icu::number::impl::MacroProps</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01279">numberformatter.h:1279</a></div></div> <div class="ttc" id="classicu_1_1number_1_1NumberFormatterSettings_html"><div class="ttname"><a href="classicu_1_1number_1_1NumberFormatterSettings.html">icu::number::NumberFormatterSettings</a></div><div class="ttdoc">An abstract base class for specifying settings related to number formatting. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01337">numberformatter.h:1337</a></div></div> <div class="ttc" id="utypes_8h_html_ab9d90a30137b6ec046fe59e79b09745a"><div class="ttname"><a href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a></div><div class="ttdeci">#define U_I18N_API</div><div class="ttdoc">Set to export library symbols from inside the i18n library, and to import them from outside...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00360">utypes.h:360</a></div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3fa1b45ff25f674b915fb1481b30e23eea5"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa1b45ff25f674b915fb1481b30e23eea5">UNUM_UNIT_WIDTH_HIDDEN</a></div><div class="ttdoc">Format the number according to the specified unit, but do not display the unit. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00158">numberformatter.h:158</a></div></div> <div class="ttc" id="fieldpos_8h_html"><div class="ttname"><a href="fieldpos_8h.html">fieldpos.h</a></div><div class="ttdoc">C++ API: FieldPosition identifies the fields in a formatted output. </div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_ae4711fcc8a3ea52cea6daf8a6186c479"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#ae4711fcc8a3ea52cea6daf8a6186c479">icu::number::impl::MacroProps::grouper</a></div><div class="ttdeci">Grouper grouper</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01290">numberformatter.h:1290</a></div></div> <div class="ttc" id="classicu_1_1number_1_1Notation_html"><div class="ttname"><a href="classicu_1_1number_1_1Notation.html">icu::number::Notation</a></div><div class="ttdoc">A class that defines the notation style to be used when formatting numbers in NumberFormatter. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00319">numberformatter.h:319</a></div></div> <div class="ttc" id="uversion_8h_html_a7d9374e037299886d4192b763b4c5e8b"><div class="ttname"><a href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a></div><div class="ttdeci">#define U_NAMESPACE_BEGIN</div><div class="ttdoc">This is used to begin a declaration of a public ICU C++ API. </div><div class="ttdef"><b>Definition:</b> <a href="uversion_8h_source.html#l00131">uversion.h:131</a></div></div> <div class="ttc" id="numberformatter_8h_html_a1e0fe0c910e360dda5cdad3387e5a0c6"><div class="ttname"><a href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6">UNumberDecimalSeparatorDisplay</a></div><div class="ttdeci">UNumberDecimalSeparatorDisplay</div><div class="ttdoc">An enum declaring how to render the decimal separator. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00250">numberformatter.h:250</a></div></div> <div class="ttc" id="classicu_1_1FieldPositionIterator_html"><div class="ttname"><a href="classicu_1_1FieldPositionIterator.html">icu::FieldPositionIterator</a></div><div class="ttdoc">FieldPositionIterator returns the field ids and their start/limit positions generated by a call to Fo...</div><div class="ttdef"><b>Definition:</b> <a href="fpositer_8h_source.html#l00062">fpositer.h:62</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_aabb9b8527674bf0ce67b16ebabd58582"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#aabb9b8527674bf0ce67b16ebabd58582">icu::number::impl::MacroProps::integerWidth</a></div><div class="ttdeci">IntegerWidth integerWidth</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01296">numberformatter.h:1296</a></div></div> <div class="ttc" id="numberformatter_8h_html_a1e0fe0c910e360dda5cdad3387e5a0c6a93927951d26b124a5557235406f290d6"><div class="ttname"><a href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a93927951d26b124a5557235406f290d6">UNUM_DECIMAL_SEPARATOR_AUTO</a></div><div class="ttdoc">Show the decimal separator when there are one or more digits to display after the separator...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00257">numberformatter.h:257</a></div></div> <div class="ttc" id="measunit_8h_html"><div class="ttname"><a href="measunit_8h.html">measunit.h</a></div><div class="ttdoc">C++ API: A unit for measuring a quantity. </div></div> <div class="ttc" id="ucurr_8h_html"><div class="ttname"><a href="ucurr_8h.html">ucurr.h</a></div><div class="ttdoc">C API: Encapsulates information about a currency. </div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3fa721badced2bb2b04f6c10afaed3bedef"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa721badced2bb2b04f6c10afaed3bedef">UNUM_UNIT_WIDTH_NARROW</a></div><div class="ttdoc">Print an abbreviated version of the unit name. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00111">numberformatter.h:111</a></div></div> <div class="ttc" id="ucurr_8h_html_acb76397692c3225539789ce239a6c306"><div class="ttname"><a href="ucurr_8h.html#acb76397692c3225539789ce239a6c306">UCurrencyUsage</a></div><div class="ttdeci">UCurrencyUsage</div><div class="ttdoc">Currency Usage used for Decimal Format. </div><div class="ttdef"><b>Definition:</b> <a href="ucurr_8h_source.html#l00041">ucurr.h:41</a></div></div> <div class="ttc" id="umachine_8h_html_a09fff5c3b5a5b015324dc3ec3cf92809"><div class="ttname"><a href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a></div><div class="ttdeci">int32_t UChar32</div><div class="ttdoc">Define UChar32 as a type for single Unicode code points. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00396">umachine.h:396</a></div></div> <div class="ttc" id="classicu_1_1number_1_1NumberFormatterSettings_html_a8e9fa209d30169e4a4643a22d509459d"><div class="ttname"><a href="classicu_1_1number_1_1NumberFormatterSettings.html#a8e9fa209d30169e4a4643a22d509459d">icu::number::NumberFormatterSettings::copyErrorTo</a></div><div class="ttdeci">UBool copyErrorTo(UErrorCode &outErrorCode) const</div><div class="ttdoc">Sets the UErrorCode if an error occurred in the fluent chain. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01705">numberformatter.h:1705</a></div></div> <div class="ttc" id="classicu_1_1number_1_1impl_1_1SymbolsWrapper_html_a132e96331b08a4659c8eed61882130dd"><div class="ttname"><a href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#a132e96331b08a4659c8eed61882130dd">icu::number::impl::SymbolsWrapper::SymbolsWrapper</a></div><div class="ttdeci">SymbolsWrapper()</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01147">numberformatter.h:1147</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_af4069552e7f309ff29d7d41e08841ce2"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#af4069552e7f309ff29d7d41e08841ce2">icu::number::impl::MacroProps::notation</a></div><div class="ttdeci">Notation notation</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01281">numberformatter.h:1281</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_afaed80bdd7f1a91109b9ab87e91c1c7f"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#afaed80bdd7f1a91109b9ab87e91c1c7f">icu::number::impl::MacroProps::symbols</a></div><div class="ttdeci">SymbolsWrapper symbols</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01299">numberformatter.h:1299</a></div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3f"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3f">UNumberUnitWidth</a></div><div class="ttdeci">UNumberUnitWidth</div><div class="ttdoc">An enum declaring how to render units, including currencies. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00099">numberformatter.h:99</a></div></div> <div class="ttc" id="umachine_8h_html_aa8cecfc5c5c054d2875c03e77b7be15d"><div class="ttname"><a href="umachine_8h.html#aa8cecfc5c5c054d2875c03e77b7be15d">TRUE</a></div><div class="ttdeci">#define TRUE</div><div class="ttdoc">The TRUE value of a UBool. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00240">umachine.h:240</a></div></div> <div class="ttc" id="classicu_1_1CurrencyUnit_html"><div class="ttname"><a href="classicu_1_1CurrencyUnit.html">icu::CurrencyUnit</a></div><div class="ttdoc">A unit of currency, such as USD (U.S. </div><div class="ttdef"><b>Definition:</b> <a href="currunit_8h_source.html#l00037">currunit.h:37</a></div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9a5bcfdf8a223dd757686edeeda2eca603"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a5bcfdf8a223dd757686edeeda2eca603">UNUM_SIGN_ACCOUNTING_ALWAYS</a></div><div class="ttdoc">Use the locale-dependent accounting format on negative numbers, and show the plus sign on positive nu...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00231">numberformatter.h:231</a></div></div> <div class="ttc" id="unum_8h_html_ac87c18f94d2d615aa25cd5581ff908f5"><div class="ttname"><a href="unum_8h.html#ac87c18f94d2d615aa25cd5581ff908f5">UNumberFormatPadPosition</a></div><div class="ttdeci">UNumberFormatPadPosition</div><div class="ttdoc">The possible number format pad positions. </div><div class="ttdef"><b>Definition:</b> <a href="unum_8h_source.html#l00304">unum.h:304</a></div></div> <div class="ttc" id="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1IncrementSettings_html"><div class="ttname"><a href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1IncrementSettings.html">icu::number::Rounder::RounderUnion::IncrementSettings</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00794">numberformatter.h:794</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_ae62d67644319b6af92aa0269ecd13fcd"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#ae62d67644319b6af92aa0269ecd13fcd">icu::number::impl::MacroProps::unit</a></div><div class="ttdeci">MeasureUnit unit</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01284">numberformatter.h:1284</a></div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9">UNumberSignDisplay</a></div><div class="ttdeci">UNumberSignDisplay</div><div class="ttdoc">An enum declaring how to denote positive and negative numbers. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00186">numberformatter.h:186</a></div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3fa21dfe289ee4e87262df9622134ab29db"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fa21dfe289ee4e87262df9622134ab29db">UNUM_UNIT_WIDTH_FULL_NAME</a></div><div class="ttdoc">Print the full name of the unit, without any abbreviations. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00138">numberformatter.h:138</a></div></div> <div class="ttc" id="classicu_1_1number_1_1UnlocalizedNumberFormatter_html"><div class="ttname"><a href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html">icu::number::UnlocalizedNumberFormatter</a></div><div class="ttdoc">A NumberFormatter that does not yet have a locale. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01731">numberformatter.h:1731</a></div></div> <div class="ttc" id="uversion_8h_html_a3da1f00f3b02976ac53c014a3e4c0933"><div class="ttname"><a href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a></div><div class="ttdeci">#define U_NAMESPACE_END</div><div class="ttdoc">This is used to end a declaration of a public ICU C++ API. </div><div class="ttdef"><b>Definition:</b> <a href="uversion_8h_source.html#l00132">uversion.h:132</a></div></div> <div class="ttc" id="unum_8h_html_a48d230f58cc3dc322e2f2eb6dc1139ef"><div class="ttname"><a href="unum_8h.html#a48d230f58cc3dc322e2f2eb6dc1139ef">UNumberCompactStyle</a></div><div class="ttdeci">UNumberCompactStyle</div><div class="ttdoc">Constants for specifying short or long format. </div><div class="ttdef"><b>Definition:</b> <a href="unum_8h_source.html#l00315">unum.h:315</a></div></div> <div class="ttc" id="classicu_1_1number_1_1CurrencyRounder_html"><div class="ttname"><a href="classicu_1_1number_1_1CurrencyRounder.html">icu::number::CurrencyRounder</a></div><div class="ttdoc">A class that defines a rounding strategy parameterized by a currency to be used when formatting numbe...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00940">numberformatter.h:940</a></div></div> <div class="ttc" id="classicu_1_1number_1_1LocalizedNumberFormatter_html"><div class="ttname"><a href="classicu_1_1number_1_1LocalizedNumberFormatter.html">icu::number::LocalizedNumberFormatter</a></div><div class="ttdoc">A NumberFormatter that has a locale associated with it; this means .format() methods are available...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01780">numberformatter.h:1780</a></div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3fad8d8a2f752f8e91c3360c9a5399ef593"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3fad8d8a2f752f8e91c3360c9a5399ef593">UNUM_UNIT_WIDTH_SHORT</a></div><div class="ttdoc">Print an abbreviated version of the unit name. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00127">numberformatter.h:127</a></div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9a1c62fa437fad105b04e5fcbf65167f4a"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a1c62fa437fad105b04e5fcbf65167f4a">UNUM_SIGN_ALWAYS</a></div><div class="ttdoc">Show the minus sign on negative numbers and the plus sign on positive numbers. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00200">numberformatter.h:200</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78c"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a></div><div class="ttdeci">UErrorCode</div><div class="ttdoc">Error code to replace exception handling, so that the code is compatible with all C++ compilers...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00396">utypes.h:396</a></div></div> <div class="ttc" id="classicu_1_1number_1_1impl_1_1SymbolsWrapper_html"><div class="ttname"><a href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html">icu::number::impl::SymbolsWrapper</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01144">numberformatter.h:1144</a></div></div> <div class="ttc" id="classicu_1_1FieldPosition_html"><div class="ttname"><a href="classicu_1_1FieldPosition.html">icu::FieldPosition</a></div><div class="ttdoc">FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted out...</div><div class="ttdef"><b>Definition:</b> <a href="fieldpos_8h_source.html#l00108">fieldpos.h:108</a></div></div> <div class="ttc" id="dcfmtsym_8h_html"><div class="ttname"><a href="dcfmtsym_8h.html">dcfmtsym.h</a></div><div class="ttdoc">C++ API: Symbols for formatting numbers. </div></div> <div class="ttc" id="classicu_1_1number_1_1UnlocalizedNumberFormatter_html_a6cc5e27cecb1beca9bb2520ee6734e2f"><div class="ttname"><a href="classicu_1_1number_1_1UnlocalizedNumberFormatter.html#a6cc5e27cecb1beca9bb2520ee6734e2f">icu::number::UnlocalizedNumberFormatter::UnlocalizedNumberFormatter</a></div><div class="ttdeci">UnlocalizedNumberFormatter(const UnlocalizedNumberFormatter &other)</div><div class="ttdoc">Returns a copy of this UnlocalizedNumberFormatter. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01758">numberformatter.h:1758</a></div></div> <div class="ttc" id="numberformatter_8h_html_a5ee613b0f806f558d9ea877aa62a0c3faefbce8f020b12394f6d37b982273a758"><div class="ttname"><a href="numberformatter_8h.html#a5ee613b0f806f558d9ea877aa62a0c3faefbce8f020b12394f6d37b982273a758">UNUM_UNIT_WIDTH_COUNT</a></div><div class="ttdoc">One more than the highest UNumberUnitWidth value. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00165">numberformatter.h:165</a></div></div> <div class="ttc" id="classicu_1_1number_1_1ScientificNotation_html"><div class="ttname"><a href="classicu_1_1number_1_1ScientificNotation.html">icu::number::ScientificNotation</a></div><div class="ttdoc">A class that defines the scientific notation style to be used when formatting numbers in NumberFormat...</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00521">numberformatter.h:521</a></div></div> <div class="ttc" id="utypes_8h_html"><div class="ttname"><a href="utypes_8h.html">utypes.h</a></div><div class="ttdoc">Basic definitions for ICU, for both C and C++ APIs. </div></div> <div class="ttc" id="classicu_1_1number_1_1impl_1_1Padder_html"><div class="ttname"><a href="classicu_1_1number_1_1impl_1_1Padder.html">icu::number::impl::Padder</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01222">numberformatter.h:1222</a></div></div> <div class="ttc" id="numberformatter_8h_html_a18092ae1533c9c260f01c9dbf25589c9a3919ed89463cc89fc7f25cbd9c9e4968"><div class="ttname"><a href="numberformatter_8h.html#a18092ae1533c9c260f01c9dbf25589c9a3919ed89463cc89fc7f25cbd9c9e4968">UNUM_SIGN_AUTO</a></div><div class="ttdoc">Show the minus sign on negative numbers, and do not show the sign on positive numbers. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00193">numberformatter.h:193</a></div></div> <div class="ttc" id="umachine_8h_html_aa93f0eb578d23995850d61f7d61c55c1"><div class="ttname"><a href="umachine_8h.html#aa93f0eb578d23995850d61f7d61c55c1">FALSE</a></div><div class="ttdeci">#define FALSE</div><div class="ttdoc">The FALSE value of a UBool. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00244">umachine.h:244</a></div></div> <div class="ttc" id="numberformatter_8h_html_a1e0fe0c910e360dda5cdad3387e5a0c6a1d1b364e55dcabab30649afbaa200cd0"><div class="ttname"><a href="numberformatter_8h.html#a1e0fe0c910e360dda5cdad3387e5a0c6a1d1b364e55dcabab30649afbaa200cd0">UNUM_DECIMAL_SEPARATOR_COUNT</a></div><div class="ttdoc">One more than the highest UNumberDecimalSeparatorDisplay value. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00271">numberformatter.h:271</a></div></div> <div class="ttc" id="classicu_1_1UnicodeString_html"><div class="ttname"><a href="classicu_1_1UnicodeString.html">icu::UnicodeString</a></div><div class="ttdoc">UnicodeString is a string class that stores Unicode characters directly and provides similar function...</div><div class="ttdef"><b>Definition:</b> <a href="unistr_8h_source.html#l00286">unistr.h:286</a></div></div> <div class="ttc" id="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1FractionSignificantSettings_html"><div class="ttname"><a href="structicu_1_1number_1_1Rounder_1_1RounderUnion_1_1FractionSignificantSettings.html">icu::number::Rounder::RounderUnion::FractionSignificantSettings</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l00787">numberformatter.h:787</a></div></div> <div class="ttc" id="classicu_1_1number_1_1FormattedNumber_html"><div class="ttname"><a href="classicu_1_1number_1_1FormattedNumber.html">icu::number::FormattedNumber</a></div><div class="ttdoc">The result of a number formatting operation. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01876">numberformatter.h:1876</a></div></div> <div class="ttc" id="classicu_1_1StringPiece_html"><div class="ttname"><a href="classicu_1_1StringPiece.html">icu::StringPiece</a></div><div class="ttdoc">A string-like object that points to a sized piece of memory. </div><div class="ttdef"><b>Definition:</b> <a href="stringpiece_8h_source.html#l00054">stringpiece.h:54</a></div></div> <div class="ttc" id="classicu_1_1UMemory_html"><div class="ttname"><a href="classicu_1_1UMemory.html">icu::UMemory</a></div><div class="ttdoc">UMemory is the common ICU base class. </div><div class="ttdef"><b>Definition:</b> <a href="uobject_8h_source.html#l00112">uobject.h:112</a></div></div> <div class="ttc" id="classicu_1_1number_1_1Grouper_html"><div class="ttname"><a href="classicu_1_1number_1_1Grouper.html">icu::number::Grouper</a></div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01008">numberformatter.h:1008</a></div></div> <div class="ttc" id="structicu_1_1number_1_1impl_1_1MacroProps_html_a0857bd93bd2fff0e854069da84ac5426"><div class="ttname"><a href="structicu_1_1number_1_1impl_1_1MacroProps.html#a0857bd93bd2fff0e854069da84ac5426">icu::number::impl::MacroProps::copyErrorTo</a></div><div class="ttdeci">bool copyErrorTo(UErrorCode &status) const</div><div class="ttdoc">Check all members for errors. </div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01323">numberformatter.h:1323</a></div></div> <div class="ttc" id="umachine_8h_html_a349ef00011f20ccd1d3b424445681aa5"><div class="ttname"><a href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a></div><div class="ttdeci">int8_t UBool</div><div class="ttdoc">The ICU boolean type. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00236">umachine.h:236</a></div></div> <div class="ttc" id="classicu_1_1Appendable_html"><div class="ttname"><a href="classicu_1_1Appendable.html">icu::Appendable</a></div><div class="ttdoc">Base class for objects to which Unicode characters and strings can be appended. </div><div class="ttdef"><b>Definition:</b> <a href="appendable_8h_source.html#l00051">appendable.h:51</a></div></div> <div class="ttc" id="unum_8h_html"><div class="ttname"><a href="unum_8h.html">unum.h</a></div><div class="ttdoc">C API: NumberFormat. </div></div> <div class="ttc" id="classicu_1_1number_1_1impl_1_1SymbolsWrapper_html_ad9fc6bc1a446a8a9d78045aab90ec5e5"><div class="ttname"><a href="classicu_1_1number_1_1impl_1_1SymbolsWrapper.html#ad9fc6bc1a446a8a9d78045aab90ec5e5">icu::number::impl::SymbolsWrapper::copyErrorTo</a></div><div class="ttdeci">UBool copyErrorTo(UErrorCode &status) const</div><div class="ttdef"><b>Definition:</b> <a href="numberformatter_8h_source.html#l01195">numberformatter.h:1195</a></div></div> <div class="ttc" id="classicu_1_1Locale_html"><div class="ttname"><a href="classicu_1_1Locale.html">icu::Locale</a></div><div class="ttdoc">A Locale object represents a specific geographical, political, or cultural region. </div><div class="ttdef"><b>Definition:</b> <a href="locid_8h_source.html#l00188">locid.h:188</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>