📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 09:26:19
📂
/ (Root)
/
opt
/
alt
/
alt-nodejs22
/
root
/
usr
/
share
/
doc
/
alt-nodejs22-libicu-doc
📍 /opt/alt/alt-nodejs22/root/usr/share/doc/alt-nodejs22-libicu-doc
🔄 Refresh
✏️
Editing: messageformat2__formattable_8h_source.html
Read Only
<!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 77.1: i18n/unicode/messageformat2_formattable.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="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/searchdata.js"></script> <script type="text/javascript" src="search/search.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 77.1  <span id="projectnumber">77.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <script type="text/javascript"> /* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */ var searchBox = new SearchBox("searchBox", "search",false,'Search'); /* @license-end */ </script> <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('',true,false,'search.php','Search'); $(document).ready(function() { init_search(); }); }); /* @license-end */</script> <div id="main-nav"></div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> </div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </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">messageformat2_formattable.h</div> </div> </div><!--header--> <div class="contents"> <div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// © 2024 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">#ifndef MESSAGEFORMAT2_FORMATTABLE_H</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="preprocessor">#define MESSAGEFORMAT2_FORMATTABLE_H</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> </div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor">#if !UCONFIG_NO_NORMALIZATION</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> </div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#if !UCONFIG_NO_MF2</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor">#include "<a class="code" href="chariter_8h.html">unicode/chariter.h</a>"</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="numberformatter_8h.html">unicode/numberformatter.h</a>"</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor">#include "unicode/messageformat2_data_model_names.h"</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_DEPRECATED_API</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> </div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include <map></span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="preprocessor">#include <variant></span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> </div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> U_NAMESPACE_BEGIN</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">class </span>Hashtable;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="keyword">class </span>UVector;</div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="keyword">namespace </span>message2 {</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">class </span>Formatter;</div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keyword">class </span>MessageContext;</div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keyword">class </span>Selector;</div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <span class="comment">// Formattable</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="comment">// ----------</span></div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> </div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattableObject.html"> 48</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_1message2_1_1FormattableObject.html">FormattableObject</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html">UObject</a> {</div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& tag() <span class="keyword">const</span> = 0;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1message2_1_1FormattableObject.html">FormattableObject</a>();</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  }; <span class="comment">// class FormattableObject</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span> </div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keyword">class </span><a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>;</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span> } <span class="comment">// namespace message2</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span> </div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span> U_NAMESPACE_END</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="comment">// Export an explicit template instantiation of the std::variant that is used</span></div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// to represent the message2::Formattable class.</span></div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="comment">// (When building DLLs for Windows this is required.)</span></div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// (See measunit_impl.h, datefmt.h, collationiterator.h, erarules.h and others</span></div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="comment">// for similar examples.)</span></div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> <span class="preprocessor">#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN</span></div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span> <span class="preprocessor">#if defined(U_REAL_MSVC) && defined(_MSVC_STL_VERSION)</span></div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span> <span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> std::_Variant_storage_<<span class="keyword">false</span>,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  double,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  int64_t,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a>,</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="code" href="classicu_1_1Formattable.html">icu::Formattable</a>,</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattableObject.html">icu::message2::FormattableObject</a> *,</div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  std::pair<const icu::message2::Formattable *,int32_t>>;</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="keyword">typedef</span> std::pair<const icu::message2::Formattable*, int32_t> P;</div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="keyword">template</span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> std::variant<double,</div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  int64_t,</div><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="classicu_1_1UnicodeString.html">icu::UnicodeString</a>,</div><div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <a class="code" href="classicu_1_1Formattable.html">icu::Formattable</a>,</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattableObject.html">icu::message2::FormattableObject</a>*,</div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  P>;</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> </div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> U_NAMESPACE_BEGIN</div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="keyword">namespace </span>message2 {</div><div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html"> 118</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_1message2_1_1Formattable.html">Formattable</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html">UObject</a> {</div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> </div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31">UFormattableType</a> getType() <span class="keyword">const</span>;</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="classicu_1_1message2_1_1Formattable.html#a4d7196aeb0dabedfc506435f2b8fe952"> 138</a></span>  <span class="keywordtype">double</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html#a4d7196aeb0dabedfc506435f2b8fe952">getDouble</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span> (isDecimal() && getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a8f43ec16b9d12dc49d18b70685bf896a">UFMT_DOUBLE</a>) {</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">return</span> (std::get_if<icu::Formattable>(&contents))->getDouble();</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> (std::holds_alternative<double>(contents)) {</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordflow">return</span> *(std::get_if<double>(&contents));</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  }</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a>;</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  }</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  }</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> </div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#aa77b184d904ed3ec179b57cce967d80b"> 160</a></span>  int32_t <a class="code" href="classicu_1_1message2_1_1Formattable.html#aa77b184d904ed3ec179b57cce967d80b">getLong</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">if</span> (isDecimal() && getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a395a7b29bce8877c8095e65f899d6499">UFMT_LONG</a>) {</div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="keywordflow">return</span> std::get_if<icu::Formattable>(&contents)->getLong();</div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">if</span> (std::holds_alternative<int64_t>(contents)) {</div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  <span class="keywordflow">return</span> <span class="keyword">static_cast<</span>int32_t<span class="keyword">></span>(*(std::get_if<int64_t>(&contents)));</div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  }</div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a>;</div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  }</div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  }</div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#aba96e6e9b3fef68289fc555e7c5c9f5f"> 183</a></span>  int64_t <a class="code" href="classicu_1_1message2_1_1Formattable.html#aba96e6e9b3fef68289fc555e7c5c9f5f">getInt64Value</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  <span class="keywordflow">if</span> (isDecimal() && getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31aeccbb155a4ba35697ccff1465eeaa09a">UFMT_INT64</a>) {</div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="keywordflow">return</span> std::get_if<icu::Formattable>(&contents)->getInt64();</div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  }</div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordflow">if</span> (std::holds_alternative<int64_t>(contents)) {</div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">return</span> *(std::get_if<int64_t>(&contents));</div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  }</div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a>;</div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  }</div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  }</div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  int64_t getInt64(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>;</div><div class="line"><a name="l00220"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a68f1e19c716ce70ce8b7291f1d4c6d76"> 220</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& <a class="code" href="classicu_1_1message2_1_1Formattable.html#a68f1e19c716ce70ce8b7291f1d4c6d76">getString</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span> (std::holds_alternative<UnicodeString>(contents)) {</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">return</span> *std::get_if<UnicodeString>(&contents);</div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  }</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a>;</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">return</span> bogusString;</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div><div class="line"><a name="l00239"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#aee52df65f4a336445dcef8276ec45d4b"> 239</a></span>  <a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039">UDate</a> <a class="code" href="classicu_1_1message2_1_1Formattable.html#aee52df65f4a336445dcef8276ec45d4b">getDate</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <span class="keywordflow">if</span> (isDate()) {</div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordflow">return</span> *std::get_if<double>(&contents);</div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  }</div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a>;</div><div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  }</div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div><div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#ac8067aad082bf109162f831bfd6e045d"> 256</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1message2_1_1Formattable.html#ac8067aad082bf109162f831bfd6e045d">isNumeric</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a8f43ec16b9d12dc49d18b70685bf896a">UFMT_DOUBLE</a> || getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a395a7b29bce8877c8095e65f899d6499">UFMT_LONG</a> || getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31aeccbb155a4ba35697ccff1465eeaa09a">UFMT_INT64</a>); }</div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>* getArray(int32_t& count, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>;</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00280"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a125355d543a1eb9268e7c2fa8dd662c9"> 280</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattableObject.html">FormattableObject</a>* <a class="code" href="classicu_1_1message2_1_1Formattable.html#a125355d543a1eb9268e7c2fa8dd662c9">getObject</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">// Can't return a reference since FormattableObject</span></div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="comment">// is an abstract class</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordflow">if</span> (getType() == <a class="code" href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a5bb91a7a04d185b66faa64f90ae15214">UFMT_OBJECT</a>) {</div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">return</span> *std::get_if<const FormattableObject*>(&contents);</div><div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="comment">// TODO: should assert that if type is object, object is non-null</span></div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  }</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a>;</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  }</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  }</div><div class="line"><a name="l00300"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#ad2e6c7435d15b6d574cc73f2cd1e6ded"> 300</a></span>  <span class="keyword">friend</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html#ad2e6c7435d15b6d574cc73f2cd1e6ded">swap</a>(<a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>& f1, <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>& f2) noexcept {</div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span>  <span class="keyword">using</span> std::swap;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> </div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  swap(f1.contents, f2.contents);</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  swap(f1.holdsDate, f2.holdsDate);</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  }</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>&);</div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>& operator=(<a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>) noexcept;</div><div class="line"><a name="l00327"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a2549da2832ab3156e57c8398077455aa"> 327</a></span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html#a2549da2832ab3156e57c8398077455aa">Formattable</a>() : contents(0.0) {}</div><div class="line"><a name="l00336"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a0ca2d5041e07dc51c2da8d18c2a4ab20"> 336</a></span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html#a0ca2d5041e07dc51c2da8d18c2a4ab20">Formattable</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& s) : contents(s) {}</div><div class="line"><a name="l00345"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#ad104d2ba8d907746a61a6cb854da3081"> 345</a></span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html#ad104d2ba8d907746a61a6cb854da3081">Formattable</a>(<span class="keywordtype">double</span> d) : contents(d) {}</div><div class="line"><a name="l00354"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a1f1274bbdff02863e33b20cd9e617572"> 354</a></span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html#a1f1274bbdff02863e33b20cd9e617572">Formattable</a>(int64_t i) : contents(i) {}</div><div class="line"><a name="l00362"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#acfecb9a0f1931423a329d4d149dc9a26"> 362</a></span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a> <a class="code" href="classicu_1_1message2_1_1Formattable.html#acfecb9a0f1931423a329d4d149dc9a26">forDate</a>(<a class="code" href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039">UDate</a> d) {</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a> f;</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  f.contents = d;</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  f.holdsDate = <span class="keyword">true</span>;</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  <span class="keywordflow">return</span> f;</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  }</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a> forDecimal(std::string_view number, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status);</div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a15b53cb7a432a97cefbc3d319ea6b783"> 392</a></span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html#a15b53cb7a432a97cefbc3d319ea6b783">Formattable</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>* arr, int32_t len) : contents(std::pair(arr, len)) {}</div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1Formattable.html#a0bc2c7dcc24d436389cb10f0b9ed5dbb"> 401</a></span>  <a class="code" href="classicu_1_1message2_1_1Formattable.html#a0bc2c7dcc24d436389cb10f0b9ed5dbb">Formattable</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattableObject.html">FormattableObject</a>* obj) : contents(obj) {}</div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>();</div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  <a class="code" href="classicu_1_1Formattable.html">icu::Formattable</a> asICUFormattable(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>;</div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> </div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  std::variant<double,</div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  int64_t,</div><div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>,</div><div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  <a class="code" href="classicu_1_1Formattable.html">icu::Formattable</a>, <span class="comment">// represents a Decimal</span></div><div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattableObject.html">FormattableObject</a>*,</div><div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  std::pair<const Formattable*, int32_t>> contents;</div><div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  <span class="keywordtype">bool</span> holdsDate = <span class="keyword">false</span>; <span class="comment">// otherwise, we get type errors about UDate being a duplicate type</span></div><div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> bogusString; <span class="comment">// :((((</span></div><div class="line"><a name="l00431"></a><span class="lineno"> 431</span> </div><div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isDecimal()<span class="keyword"> const </span>{</div><div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  <span class="keywordflow">return</span> std::holds_alternative<icu::Formattable>(contents);</div><div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  }</div><div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isDate()<span class="keyword"> const </span>{</div><div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="keywordflow">return</span> std::holds_alternative<double>(contents) && holdsDate;</div><div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  }</div><div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  }; <span class="comment">// class Formattable</span></div><div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div><div class="line"><a name="l00453"></a><span class="lineno"> 453</span> <span class="preprocessor">#ifndef U_IN_DOXYGEN</span></div><div class="line"><a name="l00454"></a><span class="lineno"> 454</span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a">U_I18N_API</a> ResolvedFunctionOption : <span class="keyword">public</span> UObject {</div><div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00456"></a><span class="lineno"> 456</span> </div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="comment">/* const */</span> UnicodeString name;</div><div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="comment">/* const */</span> Formattable value;</div><div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="keyword">const</span> UnicodeString& getName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> name; }</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keyword">const</span> Formattable& getValue()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> value; }</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  ResolvedFunctionOption(<span class="keyword">const</span> UnicodeString& n, <span class="keyword">const</span> Formattable& f) : name(n), value(f) {}</div><div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  ResolvedFunctionOption() {}</div><div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  ResolvedFunctionOption(ResolvedFunctionOption&&);</div><div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  ResolvedFunctionOption& operator=(ResolvedFunctionOption&& other) noexcept {</div><div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  name = std::move(other.name);</div><div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  value = std::move(other.value);</div><div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  }</div><div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="keyword">virtual</span> ~ResolvedFunctionOption();</div><div class="line"><a name="l00472"></a><span class="lineno"> 472</span> }; <span class="comment">// class ResolvedFunctionOption</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> <span class="keyword">using</span> FunctionOptionsMap = std::map<UnicodeString, message2::Formattable>;</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FunctionOptions.html"> 490</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_1message2_1_1FunctionOptions.html">FunctionOptions</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html">UObject</a> {</div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FunctionOptions.html#ad5052404634e63c5816b49daed4395c3"> 505</a></span>  FunctionOptionsMap <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html#ad5052404634e63c5816b49daed4395c3">getOptions</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  int32_t len;</div><div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keyword">const</span> ResolvedFunctionOption* resolvedOptions = getResolvedFunctionOptions(len);</div><div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  FunctionOptionsMap result;</div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordflow">for</span> (int32_t i = 0; i < len; i++) {</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keyword">const</span> ResolvedFunctionOption& opt = resolvedOptions[i];</div><div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  result[opt.getName()] = opt.getValue();</div><div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div><div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="keywordflow">return</span> result;</div><div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  }</div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FunctionOptions.html#a0fbe398617f6aa8a34604d75d35f74e4"> 522</a></span>  <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html#a0fbe398617f6aa8a34604d75d35f74e4">FunctionOptions</a>() { options = <span class="keyword">nullptr</span>; }</div><div class="line"><a name="l00529"></a><span class="lineno"> 529</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>();</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>& operator=(<a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>&&) noexcept;</div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span>  <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>(<a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>&&);</div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>& operator=(const <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>&) = delete;</div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  private:</div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span>  friend class InternalValue;</div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  friend class <a class="code" href="classicu_1_1message2_1_1MessageFormatter.html">MessageFormatter</a>;</div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  friend class StandardFunctions;</div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> </div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span>  explicit <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>(UVector&&, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>&);</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>  const ResolvedFunctionOption* getResolvedFunctionOptions(int32_t& len) const;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> getFunctionOption(const <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>&, <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>&) const;</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="comment">// Returns empty string if option doesn't exist</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> getStringFunctionOption(const <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>&) const;</div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  int32_t optionsCount()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> functionOptionsLen; }</div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> </div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span>  <span class="comment">// Named options passed to functions</span></div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="comment">// This is not a Hashtable in order to make it possible for code in a public header file</span></div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  <span class="comment">// to construct a std::map from it, on-the-fly. Otherwise, it would be impossible to put</span></div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="comment">// that code in the header because it would have to call internal Hashtable methods.</span></div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  ResolvedFunctionOption* options;</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  int32_t functionOptionsLen = 0;</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="comment">// Returns a new FunctionOptions</span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span>  FunctionOptions mergeOptions(FunctionOptions&& other, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>&);</div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span> }; <span class="comment">// class FunctionOptions</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span> </div><div class="line"><a name="l00587"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html"> 587</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_1message2_1_1FormattedValue.html">FormattedValue</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html">UObject</a> {</div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  <span class="keyword">explicit</span> <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>&);</div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keyword">explicit</span> <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>(<a class="code" href="classicu_1_1number_1_1FormattedNumber.html">number::FormattedNumber</a>&&);</div><div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html#a1722c92698c8f90219f0a9617103d3b0"> 607</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedValue.html#a1722c92698c8f90219f0a9617103d3b0">FormattedValue</a>() : type(kString) {}</div><div class="line"><a name="l00616"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html#ad61eb3388c04264d3f57b1f0bcb45e10"> 616</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classicu_1_1message2_1_1FormattedValue.html#ad61eb3388c04264d3f57b1f0bcb45e10">isString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type == kString; }</div><div class="line"><a name="l00625"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html#ab810ef25ab838f63c36ef862db95decb"> 625</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classicu_1_1message2_1_1FormattedValue.html#ab810ef25ab838f63c36ef862db95decb">isNumber</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type == kNumber; }</div><div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html#a045000f63cbf99628a3a4dd18dc1b76c"> 633</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& <a class="code" href="classicu_1_1message2_1_1FormattedValue.html#a045000f63cbf99628a3a4dd18dc1b76c">getString</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> stringOutput; }</div><div class="line"><a name="l00641"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html#ab4309259b8973e2b6905a33d1e1f7a6b"> 641</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">number::FormattedNumber</a>& <a class="code" href="classicu_1_1message2_1_1FormattedValue.html#ab4309259b8973e2b6905a33d1e1f7a6b">getNumber</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> numberOutput; }</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span>  <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>& operator=(<a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>&&) noexcept;</div><div class="line"><a name="l00657"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedValue.html#a5135300fa9d29c5b805ce9c72edde9e7"> 657</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>(<a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>&& other) { *<span class="keyword">this</span> = std::move(other); }</div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>();</div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="keyword">enum</span> Type {</div><div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  kString,</div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span>  kNumber</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  };</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  Type type;</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> stringOutput;</div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <a class="code" href="classicu_1_1number_1_1FormattedNumber.html">number::FormattedNumber</a> numberOutput;</div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  }; <span class="comment">// class FormattedValue</span></div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div><div class="line"><a name="l00687"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html"> 687</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_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html">UObject</a> {</div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00699"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a1ce840af59fb5aefe63889f48adb7bc2"> 699</a></span>  <span class="keyword">explicit</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a1ce840af59fb5aefe63889f48adb7bc2">FormattedPlaceholder</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& s) : fallback(s), type(kFallback) {}</div><div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a796c295d95e0bb9f885134b29bc09b7d"> 711</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a796c295d95e0bb9f885134b29bc09b7d">FormattedPlaceholder</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a>& input, <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>&& output)</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  : fallback(input.fallback), source(input.source),</div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  formatted(std::move(output)), previousOptions(<a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>()), type(kEvaluated) {}</div><div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#aca853938ba148c0744397e0f7fad9a92"> 726</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#aca853938ba148c0744397e0f7fad9a92">FormattedPlaceholder</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a>& input, <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>&& opts, <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>&& output)</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span>  : fallback(input.fallback), source(input.source),</div><div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  formatted(std::move(output)), previousOptions(std::move(opts)), type(kEvaluated) {}</div><div class="line"><a name="l00738"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#abc2ac41ba937c582b4235baf12e077df"> 738</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#abc2ac41ba937c582b4235baf12e077df">FormattedPlaceholder</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">Formattable</a>& input, <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& fb)</div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  : fallback(fb), source(input), type(kUnevaluated) {}</div><div class="line"><a name="l00747"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a4c04b7275e2136a2612e9bc5f596b944"> 747</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a4c04b7275e2136a2612e9bc5f596b944">FormattedPlaceholder</a>() : type(kNull) {}</div><div class="line"><a name="l00757"></a><span class="lineno"> 757</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1Formattable.html">message2::Formattable</a>& asFormattable() <span class="keyword">const</span>;</div><div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#ab3f67d45cd645b7bf4f964717fde52b9"> 767</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#ab3f67d45cd645b7bf4f964717fde52b9">isFallback</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type == kFallback; }</div><div class="line"><a name="l00777"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a62acf50b54e9bf10c4a16f2b59b8c21f"> 777</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a62acf50b54e9bf10c4a16f2b59b8c21f">isNullOperand</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> type == kNull; }</div><div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a5743101090c167d8f0c268929dd64851"> 787</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a5743101090c167d8f0c268929dd64851">isEvaluated</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (type == kEvaluated); }</div><div class="line"><a name="l00796"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#ac69f080475f7c1aa9396e2576cfdf170"> 796</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#ac69f080475f7c1aa9396e2576cfdf170">canFormat</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> !(isFallback() || isNullOperand()); }</div><div class="line"><a name="l00804"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a09268825b69185711ad15a61cf1722e1"> 804</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a>& <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a09268825b69185711ad15a61cf1722e1">getFallback</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> fallback; }</div><div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#ab69ff18b4544eee78c136482cdb599ca"> 813</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FunctionOptions.html">FunctionOptions</a>& <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#ab69ff18b4544eee78c136482cdb599ca">options</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> previousOptions; }</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span> </div><div class="line"><a name="l00821"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#adbc989706a26ba27a0d0417890f11692"> 821</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1message2_1_1FormattedValue.html">FormattedValue</a>& <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html#adbc989706a26ba27a0d0417890f11692">output</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> formatted; }</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a>& operator=(<a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a>&&) noexcept;</div><div class="line"><a name="l00837"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedPlaceholder.html#a2e38d185acff65e8a19eaf88ec2e7aca"> 837</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a>(<a class="code" href="classicu_1_1message2_1_1FormattedPlaceholder.html">FormattedPlaceholder</a>&& other) { *<span class="keyword">this</span> = std::move(other); }</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> formatToString(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.html">Locale</a>& locale,</div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) <span class="keyword">const</span>;</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="keyword">private</span>:</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1message2_1_1MessageFormatter.html">MessageFormatter</a>;</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span> </div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  <span class="keyword">enum</span> Type {</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  kFallback, <span class="comment">// Represents the result of formatting that encountered an error</span></div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  kNull, <span class="comment">// Represents the absence of both an output and an input (not necessarily an error)</span></div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  kUnevaluated, <span class="comment">// `source` should be valid, but there's no result yet</span></div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  kEvaluated, <span class="comment">// `formatted` exists</span></div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span>  };</div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> fallback;</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span>  <a class="code" href="classicu_1_1Formattable.html">Formattable</a> source;</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <a class="code" href="classicu_1_1FormattedValue.html">FormattedValue</a> formatted;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  FunctionOptions previousOptions; <span class="comment">// Ignored unless type is kEvaluated</span></div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  Type type;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  }; <span class="comment">// class FormattedPlaceholder</span></div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span> </div><div class="line"><a name="l00882"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html"> 882</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_1message2_1_1FormattedMessage.html">FormattedMessage</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1FormattedValue.html">icu::FormattedValue</a> {</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00890"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#aa7e3d200ae9e3d40f57c6f37077d8013"> 890</a></span>  <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#aa7e3d200ae9e3d40f57c6f37077d8013">FormattedMessage</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) {</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  }</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  }</div><div class="line"><a name="l00901"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#a4fa37809bf19f01047d2c9eeb8dff490"> 901</a></span>  int32_t <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#a4fa37809bf19f01047d2c9eeb8dff490">length</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  }</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  <span class="keywordflow">return</span> -1;</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  }</div><div class="line"><a name="l00913"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#adad54ce70828fd1b8038cc274d82f769"> 913</a></span>  char16_t <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#adad54ce70828fd1b8038cc274d82f769">charAt</a>(int32_t index, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  (void) index;</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  }</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  <span class="keywordflow">return</span> 0;</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  }</div><div class="line"><a name="l00926"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#a320824a81ed3748445e84e612ff765fc"> 926</a></span>  <a class="code" href="classicu_1_1StringPiece.html">StringPiece</a> <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#a320824a81ed3748445e84e612ff765fc">subSequence</a>(int32_t start, int32_t end, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const </span>{</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  (void) start;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  (void) end;</div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  }</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="keywordflow">return</span> <span class="stringliteral">""</span>;</div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  }</div><div class="line"><a name="l00940"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#ab05eba0a12d7f100eb85863700a4ef08"> 940</a></span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#ab05eba0a12d7f100eb85863700a4ef08">toString</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const override </span>{</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span>  }</div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span>  <span class="keywordflow">return</span> {};</div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  }</div><div class="line"><a name="l00952"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#a6262e5202331707c8f0b422ad1b658eb"> 952</a></span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#a6262e5202331707c8f0b422ad1b658eb">toTempString</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const override </span>{</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span>  }</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span>  <span class="keywordflow">return</span> {};</div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span>  }</div><div class="line"><a name="l00964"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#ab91df274c480d41cccddcba5c5ef96e6"> 964</a></span>  <a class="code" href="classicu_1_1Appendable.html">Appendable</a>& <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#ab91df274c480d41cccddcba5c5ef96e6">appendTo</a>(<a class="code" href="classicu_1_1Appendable.html">Appendable</a>& appendable, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const override </span>{</div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</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>  <span class="keywordflow">return</span> appendable;</div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span>  }</div><div class="line"><a name="l00976"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#a18d87f6aed93cb6243807f02f0ff4c57"> 976</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#a18d87f6aed93cb6243807f02f0ff4c57">nextPosition</a>(<a class="code" href="classicu_1_1ConstrainedFieldPosition.html">ConstrainedFieldPosition</a>& cfpos, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status)<span class="keyword"> const override </span>{</div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span>  (void) cfpos;</div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span>  }</div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span>  }</div><div class="line"><a name="l00989"></a><span class="lineno"><a class="line" href="classicu_1_1message2_1_1FormattedMessage.html#a53dc72d0d996e02e00aecf8ac730e212"> 989</a></span>  <a class="code" href="classicu_1_1CharacterIterator.html">CharacterIterator</a>* <a class="code" href="classicu_1_1message2_1_1FormattedMessage.html#a53dc72d0d996e02e00aecf8ac730e212">toCharacterIterator</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a>& status) {</div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span>  <span class="keywordflow">if</span> (<a class="code" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a>(status)) {</div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span>  status = <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a>;</div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span>  }</div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span>  <span class="keywordflow">return</span> <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span>  }</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1message2_1_1FormattedMessage.html">FormattedMessage</a>();</div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>  }; <span class="comment">// class FormattedMessage</span></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> } <span class="comment">// namespace message2</span></div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> U_NAMESPACE_END</div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span> </div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="preprocessor">#endif // U_HIDE_DEPRECATED_API</span></div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span> </div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_MF2 */</span><span class="preprocessor"></span></div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span> </div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_FORMATTING */</span><span class="preprocessor"></span></div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span> </div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_NORMALIZATION */</span><span class="preprocessor"></span></div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span> </div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span> <span class="preprocessor">#endif </span><span class="comment">/* U_SHOW_CPLUSPLUS_API */</span><span class="preprocessor"></span></div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span> </div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span> <span class="preprocessor">#endif // MESSAGEFORMAT2_FORMATTABLE_H</span></div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span> </div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span> <span class="comment">// eof</span></div><div class="ttc" id="classicu_1_1message2_1_1Formattable_html_aba96e6e9b3fef68289fc555e7c5c9f5f"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#aba96e6e9b3fef68289fc555e7c5c9f5f">icu::message2::Formattable::getInt64Value</a></div><div class="ttdeci">int64_t getInt64Value(UErrorCode &status) const</div><div class="ttdoc">Gets the int64 value of this object. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00183">messageformat2_formattable.h:183</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_aa7e3d200ae9e3d40f57c6f37077d8013"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#aa7e3d200ae9e3d40f57c6f37077d8013">icu::message2::FormattedMessage::FormattedMessage</a></div><div class="ttdeci">FormattedMessage(UErrorCode &status)</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00890">messageformat2_formattable.h:890</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a4d7196aeb0dabedfc506435f2b8fe952"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a4d7196aeb0dabedfc506435f2b8fe952">icu::message2::Formattable::getDouble</a></div><div class="ttdeci">double getDouble(UErrorCode &status) const</div><div class="ttdoc">Gets the double value of this object. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00138">messageformat2_formattable.h:138</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_adad54ce70828fd1b8038cc274d82f769"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#adad54ce70828fd1b8038cc274d82f769">icu::message2::FormattedMessage::charAt</a></div><div class="ttdeci">char16_t charAt(int32_t index, UErrorCode &status) const</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00913">messageformat2_formattable.h:913</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1MessageFormatter_html"><div class="ttname"><a href="classicu_1_1message2_1_1MessageFormatter.html">icu::message2::MessageFormatter</a></div><div class="ttdef"><b>Definition:</b> <a href="messageformat2_8h_source.html#l00054">messageformat2.h:54</a></div></div> <div class="ttc" id="utypes_8h_html_a527f2c69e6b2e3b2c53ad8a99fb36711"><div class="ttname"><a href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711">U_SUCCESS</a></div><div class="ttdeci">#define U_SUCCESS(x)</div><div class="ttdoc">Does the error code indicate success? </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00743">utypes.h:743</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedValue_html"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedValue.html">icu::message2::FormattedValue</a></div><div class="ttdoc">A FormattedValue represents the result of formatting a message2::Formattable. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00587">messageformat2_formattable.h:587</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a15b53cb7a432a97cefbc3d319ea6b783"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a15b53cb7a432a97cefbc3d319ea6b783">icu::message2::Formattable::Formattable</a></div><div class="ttdeci">Formattable(const Formattable *arr, int32_t len)</div><div class="ttdoc">Array constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00392">messageformat2_formattable.h:392</a></div></div> <div class="ttc" id="utypes_8h_html_ace1704e9e77d407d1eaaa2e73ec0c039"><div class="ttname"><a href="utypes_8h.html#ace1704e9e77d407d1eaaa2e73ec0c039">UDate</a></div><div class="ttdeci">double UDate</div><div class="ttdoc">Date and Time data type. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00218">utypes.h:218</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedValue_html_ab810ef25ab838f63c36ef862db95decb"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedValue.html#ab810ef25ab838f63c36ef862db95decb">icu::message2::FormattedValue::isNumber</a></div><div class="ttdeci">bool isNumber() const</div><div class="ttdoc">Returns true iff this is a formatted number. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00625">messageformat2_formattable.h:625</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a68f1e19c716ce70ce8b7291f1d4c6d76"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a68f1e19c716ce70ce8b7291f1d4c6d76">icu::message2::Formattable::getString</a></div><div class="ttdeci">const UnicodeString & getString(UErrorCode &status) const</div><div class="ttdoc">Gets the string value of this object. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00220">messageformat2_formattable.h:220</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattableObject_html"><div class="ttname"><a href="classicu_1_1message2_1_1FormattableObject.html">icu::message2::FormattableObject</a></div><div class="ttdoc">FormattableObject is an abstract class that can be implemented in order to define an arbitrary class ...</div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00048">messageformat2_formattable.h:48</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_a4fa37809bf19f01047d2c9eeb8dff490"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#a4fa37809bf19f01047d2c9eeb8dff490">icu::message2::FormattedMessage::length</a></div><div class="ttdeci">int32_t length(UErrorCode &status) const</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00901">messageformat2_formattable.h:901</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_ab3f67d45cd645b7bf4f964717fde52b9"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#ab3f67d45cd645b7bf4f964717fde52b9">icu::message2::FormattedPlaceholder::isFallback</a></div><div class="ttdeci">bool isFallback() const</div><div class="ttdoc">Returns true iff this is a fallback placeholder. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00767">messageformat2_formattable.h:767</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a0bc2c7dcc24d436389cb10f0b9ed5dbb"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a0bc2c7dcc24d436389cb10f0b9ed5dbb">icu::message2::Formattable::Formattable</a></div><div class="ttdeci">Formattable(const FormattableObject *obj)</div><div class="ttdoc">Object constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00401">messageformat2_formattable.h:401</a></div></div> <div class="ttc" id="classicu_1_1FormattedValue_html"><div class="ttname"><a href="classicu_1_1FormattedValue.html">icu::FormattedValue</a></div><div class="ttdoc">An abstract formatted value: a string with associated field attributes. </div><div class="ttdef"><b>Definition:</b> <a href="formattedvalue_8h_source.html#l00241">formattedvalue.h:241</a></div></div> <div class="ttc" id="uformattable_8h_html_a5ca1403e425b22398d314ed8050eeb31"><div class="ttname"><a href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31">UFormattableType</a></div><div class="ttdeci">UFormattableType</div><div class="ttdoc">Enum designating the type of a UFormattable instance. </div><div class="ttdef"><b>Definition:</b> <a href="uformattable_8h_source.html#l00048">uformattable.h:48</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_ac8067aad082bf109162f831bfd6e045d"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#ac8067aad082bf109162f831bfd6e045d">icu::message2::Formattable::isNumeric</a></div><div class="ttdeci">UBool isNumeric() const</div><div class="ttdoc">Returns true if the data type of this Formattable object is kDouble. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00256">messageformat2_formattable.h:256</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_abc2ac41ba937c582b4235baf12e077df"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#abc2ac41ba937c582b4235baf12e077df">icu::message2::FormattedPlaceholder::FormattedPlaceholder</a></div><div class="ttdeci">FormattedPlaceholder(const Formattable &input, const UnicodeString &fb)</div><div class="ttdoc">Constructor for unformatted placeholders. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00738">messageformat2_formattable.h:738</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_ab05eba0a12d7f100eb85863700a4ef08"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#ab05eba0a12d7f100eb85863700a4ef08">icu::message2::FormattedMessage::toString</a></div><div class="ttdeci">UnicodeString toString(UErrorCode &status) const override</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00940">messageformat2_formattable.h:940</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#l00316">utypes.h:316</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedValue_html_ad61eb3388c04264d3f57b1f0bcb45e10"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedValue.html#ad61eb3388c04264d3f57b1f0bcb45e10">icu::message2::FormattedValue::isString</a></div><div class="ttdeci">bool isString() const</div><div class="ttdoc">Returns true iff this is a formatted string. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00616">messageformat2_formattable.h:616</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_a53dc72d0d996e02e00aecf8ac730e212"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#a53dc72d0d996e02e00aecf8ac730e212">icu::message2::FormattedMessage::toCharacterIterator</a></div><div class="ttdeci">CharacterIterator * toCharacterIterator(UErrorCode &status)</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00989">messageformat2_formattable.h:989</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_ad104d2ba8d907746a61a6cb854da3081"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#ad104d2ba8d907746a61a6cb854da3081">icu::message2::Formattable::Formattable</a></div><div class="ttdeci">Formattable(double d)</div><div class="ttdoc">Double constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00345">messageformat2_formattable.h:345</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca65a5a3a1b2f8ed0fb97e26068729a758">U_UNSUPPORTED_ERROR</a></div><div class="ttdoc">Requested operation not supported in current context. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00482">utypes.h:482</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_a09268825b69185711ad15a61cf1722e1"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#a09268825b69185711ad15a61cf1722e1">icu::message2::FormattedPlaceholder::getFallback</a></div><div class="ttdeci">const UnicodeString & getFallback() const</div><div class="ttdoc">Gets the fallback value of this placeholder, to be used in its place if an error occurs while formatt...</div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00804">messageformat2_formattable.h:804</a></div></div> <div class="ttc" id="classicu_1_1CharacterIterator_html"><div class="ttname"><a href="classicu_1_1CharacterIterator.html">icu::CharacterIterator</a></div><div class="ttdoc">Abstract class that defines an API for iteration on text objects. </div><div class="ttdef"><b>Definition:</b> <a href="chariter_8h_source.html#l00361">chariter.h:361</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_a6262e5202331707c8f0b422ad1b658eb"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#a6262e5202331707c8f0b422ad1b658eb">icu::message2::FormattedMessage::toTempString</a></div><div class="ttdeci">UnicodeString toTempString(UErrorCode &status) const override</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00952">messageformat2_formattable.h:952</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78ca309ec9eeda4fba18847cf61f833445ea">U_ILLEGAL_ARGUMENT_ERROR</a></div><div class="ttdoc">Start of codes indicating failure. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00467">utypes.h:467</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_ab91df274c480d41cccddcba5c5ef96e6"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#ab91df274c480d41cccddcba5c5ef96e6">icu::message2::FormattedMessage::appendTo</a></div><div class="ttdeci">Appendable & appendTo(Appendable &appendable, UErrorCode &status) const override</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00964">messageformat2_formattable.h:964</a></div></div> <div class="ttc" id="uformattable_8h_html_a5ca1403e425b22398d314ed8050eeb31aeccbb155a4ba35697ccff1465eeaa09a"><div class="ttname"><a href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31aeccbb155a4ba35697ccff1465eeaa09a">UFMT_INT64</a></div><div class="ttdoc">ufmt_getInt64() will return without conversion. </div><div class="ttdef"><b>Definition:</b> <a href="uformattable_8h_source.html#l00054">uformattable.h:54</a></div></div> <div class="ttc" id="uformattable_8h_html_a5ca1403e425b22398d314ed8050eeb31a5bb91a7a04d185b66faa64f90ae15214"><div class="ttname"><a href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a5bb91a7a04d185b66faa64f90ae15214">UFMT_OBJECT</a></div><div class="ttdoc">ufmt_getObject() will return without conversion. </div><div class="ttdef"><b>Definition:</b> <a href="uformattable_8h_source.html#l00055">uformattable.h:55</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_a796c295d95e0bb9f885134b29bc09b7d"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#a796c295d95e0bb9f885134b29bc09b7d">icu::message2::FormattedPlaceholder::FormattedPlaceholder</a></div><div class="ttdeci">FormattedPlaceholder(const FormattedPlaceholder &input, FormattedValue &&output)</div><div class="ttdoc">Constructor for fully formatted placeholders. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00711">messageformat2_formattable.h:711</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a2549da2832ab3156e57c8398077455aa"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a2549da2832ab3156e57c8398077455aa">icu::message2::Formattable::Formattable</a></div><div class="ttdeci">Formattable()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00327">messageformat2_formattable.h:327</a></div></div> <div class="ttc" id="uformattable_8h_html_a5ca1403e425b22398d314ed8050eeb31a395a7b29bce8877c8095e65f899d6499"><div class="ttname"><a href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a395a7b29bce8877c8095e65f899d6499">UFMT_LONG</a></div><div class="ttdoc">ufmt_getLong() will return without conversion. </div><div class="ttdef"><b>Definition:</b> <a href="uformattable_8h_source.html#l00051">uformattable.h:51</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_ac69f080475f7c1aa9396e2576cfdf170"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#ac69f080475f7c1aa9396e2576cfdf170">icu::message2::FormattedPlaceholder::canFormat</a></div><div class="ttdeci">bool canFormat() const</div><div class="ttdoc">Returns true iff this represents a valid argument to the formatter. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00796">messageformat2_formattable.h:796</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_adbc989706a26ba27a0d0417890f11692"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#adbc989706a26ba27a0d0417890f11692">icu::message2::FormattedPlaceholder::output</a></div><div class="ttdeci">const FormattedValue & output() const</div><div class="ttdoc">Returns the formatted output of this placeholder. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00821">messageformat2_formattable.h:821</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedValue_html_a1722c92698c8f90219f0a9617103d3b0"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedValue.html#a1722c92698c8f90219f0a9617103d3b0">icu::message2::FormattedValue::FormattedValue</a></div><div class="ttdeci">FormattedValue()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00607">messageformat2_formattable.h:607</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_a5743101090c167d8f0c268929dd64851"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#a5743101090c167d8f0c268929dd64851">icu::message2::FormattedPlaceholder::isEvaluated</a></div><div class="ttdeci">bool isEvaluated() const</div><div class="ttdoc">Returns true iff this has formatting output. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00787">messageformat2_formattable.h:787</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a1f1274bbdff02863e33b20cd9e617572"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a1f1274bbdff02863e33b20cd9e617572">icu::message2::Formattable::Formattable</a></div><div class="ttdeci">Formattable(int64_t i)</div><div class="ttdoc">Int64 constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00354">messageformat2_formattable.h:354</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_a4c04b7275e2136a2612e9bc5f596b944"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#a4c04b7275e2136a2612e9bc5f596b944">icu::message2::FormattedPlaceholder::FormattedPlaceholder</a></div><div class="ttdeci">FormattedPlaceholder()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00747">messageformat2_formattable.h:747</a></div></div> <div class="ttc" id="classicu_1_1ConstrainedFieldPosition_html"><div class="ttname"><a href="classicu_1_1ConstrainedFieldPosition.html">icu::ConstrainedFieldPosition</a></div><div class="ttdoc">Represents a span of a string containing a given field. </div><div class="ttdef"><b>Definition:</b> <a href="formattedvalue_8h_source.html#l00041">formattedvalue.h:41</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_acfecb9a0f1931423a329d4d149dc9a26"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#acfecb9a0f1931423a329d4d149dc9a26">icu::message2::Formattable::forDate</a></div><div class="ttdeci">static Formattable forDate(UDate d)</div><div class="ttdoc">Date factory method. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00362">messageformat2_formattable.h:362</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a125355d543a1eb9268e7c2fa8dd662c9"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a125355d543a1eb9268e7c2fa8dd662c9">icu::message2::Formattable::getObject</a></div><div class="ttdeci">const FormattableObject * getObject(UErrorCode &status) const</div><div class="ttdoc">Returns a pointer to the FormattableObject contained within this formattable, or if this object does ...</div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00280">messageformat2_formattable.h:280</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_a1ce840af59fb5aefe63889f48adb7bc2"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#a1ce840af59fb5aefe63889f48adb7bc2">icu::message2::FormattedPlaceholder::FormattedPlaceholder</a></div><div class="ttdeci">FormattedPlaceholder(const UnicodeString &s)</div><div class="ttdoc">Fallback constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00699">messageformat2_formattable.h:699</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">Standard ICU4C error code type, a substitute for exceptions. </div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00430">utypes.h:430</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_aca853938ba148c0744397e0f7fad9a92"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#aca853938ba148c0744397e0f7fad9a92">icu::message2::FormattedPlaceholder::FormattedPlaceholder</a></div><div class="ttdeci">FormattedPlaceholder(const FormattedPlaceholder &input, FunctionOptions &&opts, FormattedValue &&output)</div><div class="ttdoc">Constructor for fully formatted placeholders with options. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00726">messageformat2_formattable.h:726</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html">icu::message2::FormattedMessage</a></div><div class="ttdoc">Not yet implemented: The result of a message formatting operation. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00882">messageformat2_formattable.h:882</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_ab69ff18b4544eee78c136482cdb599ca"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#ab69ff18b4544eee78c136482cdb599ca">icu::message2::FormattedPlaceholder::options</a></div><div class="ttdeci">const FunctionOptions & options() const</div><div class="ttdoc">Returns the options of this placeholder. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00813">messageformat2_formattable.h:813</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedValue_html_ab4309259b8973e2b6905a33d1e1f7a6b"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedValue.html#ab4309259b8973e2b6905a33d1e1f7a6b">icu::message2::FormattedValue::getNumber</a></div><div class="ttdeci">const number::FormattedNumber & getNumber() const</div><div class="ttdoc">Gets the number contents of this value. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00641">messageformat2_formattable.h:641</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FunctionOptions_html_ad5052404634e63c5816b49daed4395c3"><div class="ttname"><a href="classicu_1_1message2_1_1FunctionOptions.html#ad5052404634e63c5816b49daed4395c3">icu::message2::FunctionOptions::getOptions</a></div><div class="ttdeci">FunctionOptionsMap getOptions() const</div><div class="ttdoc">Returns a map of all name-value pairs provided as options to this function. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00505">messageformat2_formattable.h:505</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_ad2e6c7435d15b6d574cc73f2cd1e6ded"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#ad2e6c7435d15b6d574cc73f2cd1e6ded">icu::message2::Formattable::swap</a></div><div class="ttdeci">friend void swap(Formattable &f1, Formattable &f2) noexcept</div><div class="ttdoc">Non-member swap function. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00300">messageformat2_formattable.h:300</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html_a62acf50b54e9bf10c4a16f2b59b8c21f"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html#a62acf50b54e9bf10c4a16f2b59b8c21f">icu::message2::FormattedPlaceholder::isNullOperand</a></div><div class="ttdeci">bool isNullOperand() const</div><div class="ttdoc">Returns true iff this is a null placeholder. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00777">messageformat2_formattable.h:777</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html">icu::message2::Formattable</a></div><div class="ttdoc">The Formattable class represents a typed value that can be formatted, originating either from a messa...</div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00118">messageformat2_formattable.h:118</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FunctionOptions_html"><div class="ttname"><a href="classicu_1_1message2_1_1FunctionOptions.html">icu::message2::FunctionOptions</a></div><div class="ttdoc">Structure encapsulating named options passed to a custom selector or formatter. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00490">messageformat2_formattable.h:490</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_aa77b184d904ed3ec179b57cce967d80b"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#aa77b184d904ed3ec179b57cce967d80b">icu::message2::Formattable::getLong</a></div><div class="ttdeci">int32_t getLong(UErrorCode &status) const</div><div class="ttdoc">Gets the long value of this object. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00160">messageformat2_formattable.h:160</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedPlaceholder_html"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedPlaceholder.html">icu::message2::FormattedPlaceholder</a></div><div class="ttdoc">A FormattablePlaceholder encapsulates an input value (a message2::Formattable) together with an optio...</div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00687">messageformat2_formattable.h:687</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_1message2_1_1FormattedMessage_html_a320824a81ed3748445e84e612ff765fc"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#a320824a81ed3748445e84e612ff765fc">icu::message2::FormattedMessage::subSequence</a></div><div class="ttdeci">StringPiece subSequence(int32_t start, int32_t end, UErrorCode &status) const</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00926">messageformat2_formattable.h:926</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_a0ca2d5041e07dc51c2da8d18c2a4ab20"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#a0ca2d5041e07dc51c2da8d18c2a4ab20">icu::message2::Formattable::Formattable</a></div><div class="ttdeci">Formattable(const UnicodeString &s)</div><div class="ttdoc">String constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00336">messageformat2_formattable.h:336</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FunctionOptions_html_a0fbe398617f6aa8a34604d75d35f74e4"><div class="ttname"><a href="classicu_1_1message2_1_1FunctionOptions.html#a0fbe398617f6aa8a34604d75d35f74e4">icu::message2::FunctionOptions::FunctionOptions</a></div><div class="ttdeci">FunctionOptions()</div><div class="ttdoc">Default constructor. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00522">messageformat2_formattable.h:522</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedMessage_html_a18d87f6aed93cb6243807f02f0ff4c57"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedMessage.html#a18d87f6aed93cb6243807f02f0ff4c57">icu::message2::FormattedMessage::nextPosition</a></div><div class="ttdeci">UBool nextPosition(ConstrainedFieldPosition &cfpos, UErrorCode &status) const override</div><div class="ttdoc">Not yet implemented. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00976">messageformat2_formattable.h:976</a></div></div> <div class="ttc" id="classicu_1_1message2_1_1FormattedValue_html_a045000f63cbf99628a3a4dd18dc1b76c"><div class="ttname"><a href="classicu_1_1message2_1_1FormattedValue.html#a045000f63cbf99628a3a4dd18dc1b76c">icu::message2::FormattedValue::getString</a></div><div class="ttdeci">const UnicodeString & getString() const</div><div class="ttdoc">Gets the string contents of this value. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00633">messageformat2_formattable.h:633</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#l00295">unistr.h:295</a></div></div> <div class="ttc" id="chariter_8h_html"><div class="ttname"><a href="chariter_8h.html">chariter.h</a></div><div class="ttdoc">C++ API: Character Iterator. </div></div> <div class="ttc" id="classicu_1_1Formattable_html"><div class="ttname"><a href="classicu_1_1Formattable.html">icu::Formattable</a></div><div class="ttdoc">Formattable objects can be passed to the Format class or its subclasses for formatting. </div><div class="ttdef"><b>Definition:</b> <a href="fmtable_8h_source.html#l00063">fmtable.h:63</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="formattednumber_8h_source.html#l00048">formattednumber.h:48</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#l00061">stringpiece.h:61</a></div></div> <div class="ttc" id="classicu_1_1UObject_html"><div class="ttname"><a href="classicu_1_1UObject.html">icu::UObject</a></div><div class="ttdoc">UObject is the common ICU "boilerplate" class. </div><div class="ttdef"><b>Definition:</b> <a href="uobject_8h_source.html#l00223">uobject.h:223</a></div></div> <div class="ttc" id="numberformatter_8h_html"><div class="ttname"><a href="numberformatter_8h.html">numberformatter.h</a></div><div class="ttdoc">C++ API: All-in-one formatter for localized numbers, currencies, and units. </div></div> <div class="ttc" id="classicu_1_1message2_1_1Formattable_html_aee52df65f4a336445dcef8276ec45d4b"><div class="ttname"><a href="classicu_1_1message2_1_1Formattable.html#aee52df65f4a336445dcef8276ec45d4b">icu::message2::Formattable::getDate</a></div><div class="ttdeci">UDate getDate(UErrorCode &status) const</div><div class="ttdoc">Gets the Date value of this object. </div><div class="ttdef"><b>Definition:</b> <a href="messageformat2__formattable_8h_source.html#l00239">messageformat2_formattable.h:239</a></div></div> <div class="ttc" id="uformattable_8h_html_a5ca1403e425b22398d314ed8050eeb31a8f43ec16b9d12dc49d18b70685bf896a"><div class="ttname"><a href="uformattable_8h.html#a5ca1403e425b22398d314ed8050eeb31a8f43ec16b9d12dc49d18b70685bf896a">UFMT_DOUBLE</a></div><div class="ttdoc">ufmt_getDouble() will return without conversion. </div><div class="ttdef"><b>Definition:</b> <a href="uformattable_8h_source.html#l00050">uformattable.h:50</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, a signed-byte integer. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00247">umachine.h:247</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#l00054">appendable.h:54</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#l00195">locid.h:195</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>
💾 Save Changes
❌ Cancel