<!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.11"/> <title>ICU 58.2: messagepattern.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td id="projectalign" style="padding-left: 0.5em;"> <div id="projectname">ICU 58.2  <span id="projectnumber">58.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.11 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html">source</a></li><li class="navelem"><a class="el" href="dir_30087b5439e04c85304dbcf15650710b.html">common</a></li><li class="navelem"><a class="el" href="dir_8bf9c54ed6ca2fd1e2117fb037e4ad06.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">messagepattern.h</div> </div> </div><!--header--> <div class="contents"> <a href="messagepattern_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">// Copyright (C) 2016 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> <span class="comment">/*</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">* Copyright (C) 2011-2013, International Business Machines</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">* Corporation and others. All Rights Reserved.</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">*******************************************************************************</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* file name: messagepattern.h</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">* encoding: US-ASCII</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">* tab size: 8 (not used)</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* indentation:4</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">*</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* created on: 2011mar14</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* created by: Markus W. Scherer</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">*/</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">#ifndef __MESSAGEPATTERN_H__</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#define __MESSAGEPATTERN_H__</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> </div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#include "<a class="code" href="parseerr_8h.html">unicode/parseerr.h</a>"</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor">#include "<a class="code" href="unistr_8h.html">unicode/unistr.h</a>"</span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> </div><div class="line"><a name="l00068"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b"> 68</a></span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> {</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7"> 80</a></span>  <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7">UMSGPAT_APOS_DOUBLE_OPTIONAL</a>,</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78"> 89</a></span>  <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78">UMSGPAT_APOS_DOUBLE_REQUIRED</a></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> };</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a56aa1f898bc4cb898a0cb2facb19b258"> 94</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a>;</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00100"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42"> 100</a></span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> {</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff"> 110</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff">UMSGPAT_PART_TYPE_MSG_START</a>,</div><div class="line"><a name="l00119"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add"> 119</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add">UMSGPAT_PART_TYPE_MSG_LIMIT</a>,</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d"> 127</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d">UMSGPAT_PART_TYPE_SKIP_SYNTAX</a>,</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c"> 134</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c">UMSGPAT_PART_TYPE_INSERT_CHAR</a>,</div><div class="line"><a name="l00142"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f"> 142</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f">UMSGPAT_PART_TYPE_REPLACE_NUMBER</a>,</div><div class="line"><a name="l00153"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c"> 153</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c">UMSGPAT_PART_TYPE_ARG_START</a>,</div><div class="line"><a name="l00160"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d"> 160</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d">UMSGPAT_PART_TYPE_ARG_LIMIT</a>,</div><div class="line"><a name="l00165"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de"> 165</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de">UMSGPAT_PART_TYPE_ARG_NUMBER</a>,</div><div class="line"><a name="l00171"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf"> 171</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf">UMSGPAT_PART_TYPE_ARG_NAME</a>,</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b"> 177</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b">UMSGPAT_PART_TYPE_ARG_TYPE</a>,</div><div class="line"><a name="l00183"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe"> 183</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe">UMSGPAT_PART_TYPE_ARG_STYLE</a>,</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413"> 189</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413">UMSGPAT_PART_TYPE_ARG_SELECTOR</a>,</div><div class="line"><a name="l00196"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da"> 196</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da">UMSGPAT_PART_TYPE_ARG_INT</a>,</div><div class="line"><a name="l00204"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574"> 204</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574">UMSGPAT_PART_TYPE_ARG_DOUBLE</a></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> };</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a26bb77f47a6057af80c25d97bf2a2595"> 209</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a>;</div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div><div class="line"><a name="l00219"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103"> 219</a></span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> {</div><div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd"> 224</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd">UMSGPAT_ARG_TYPE_NONE</a>,</div><div class="line"><a name="l00230"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e"> 230</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e">UMSGPAT_ARG_TYPE_SIMPLE</a>,</div><div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095"> 236</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095">UMSGPAT_ARG_TYPE_CHOICE</a>,</div><div class="line"><a name="l00246"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0"> 246</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0">UMSGPAT_ARG_TYPE_PLURAL</a>,</div><div class="line"><a name="l00251"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a"> 251</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a">UMSGPAT_ARG_TYPE_SELECT</a>,</div><div class="line"><a name="l00257"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f"> 257</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f">UMSGPAT_ARG_TYPE_SELECTORDINAL</a></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> };</div><div class="line"><a name="l00262"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a3f22f44bff63324c2a6591e7a7dde523"> 262</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a>;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div><div class="line"><a name="l00270"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a1c4e21bee1892fbd050e55e85ac1a5c4"> 270</a></span> <span class="preprocessor">#define UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE(argType) \</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor"> ((argType)==UMSGPAT_ARG_TYPE_PLURAL || (argType)==UMSGPAT_ARG_TYPE_SELECTORDINAL)</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div><div class="line"><a name="l00273"></a><span class="lineno"> 273</span> <span class="keyword">enum</span> {</div><div class="line"><a name="l00279"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda"> 279</a></span>  <a class="code" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda">UMSGPAT_ARG_NAME_NOT_NUMBER</a>=-1,</div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div><div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50"> 288</a></span>  <a class="code" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50">UMSGPAT_ARG_NAME_NOT_VALID</a>=-2</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> </div><div class="line"><a name="l00297"></a><span class="lineno"><a class="line" href="messagepattern_8h.html#af8a7d74f8813a30c41f063dde64e3c12"> 297</a></span> <span class="preprocessor">#define UMSGPAT_NO_NUMERIC_VALUE ((double)(-123456789))</span></div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a></div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="keyword">class </span>MessagePatternDoubleList;</div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="keyword">class </span>MessagePatternPartsList;</div><div class="line"><a name="l00303"></a><span class="lineno"> 303</span> </div><div class="line"><a name="l00360"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html"> 360</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334">U_COMMON_API</a> <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html">UObject</a> {</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="keyword">public</span>:</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> </div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a>(<a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> mode, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00382"></a><span class="lineno"> 382</span> </div><div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &pattern, <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00402"></a><span class="lineno"> 402</span> </div><div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &other);</div><div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &operator=(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &other);</div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a>();</div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> </div><div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &parse(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &pattern,</div><div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00443"></a><span class="lineno"> 443</span> </div><div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &parseChoiceStyle(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &pattern,</div><div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div><div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &parsePluralStyle(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &pattern,</div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00483"></a><span class="lineno"> 483</span> </div><div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &parseSelectStyle(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &pattern,</div><div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  <span class="keywordtype">void</span> clear();</div><div class="line"><a name="l00510"></a><span class="lineno"> 510</span> </div><div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a7e7d539e8f97c4ad607661e78bad2839"> 517</a></span>  <span class="keywordtype">void</span> <a class="code" href="classicu_1_1MessagePattern.html#a7e7d539e8f97c4ad607661e78bad2839">clearPatternAndSetApostropheMode</a>(<a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> mode) {</div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  clear();</div><div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  aposMode=mode;</div><div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div><div class="line"><a name="l00521"></a><span class="lineno"> 521</span> </div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &other) <span class="keyword">const</span>;</div><div class="line"><a name="l00528"></a><span class="lineno"> 528</span> </div><div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a21e0740af1bae2300b3734488a5fe138"> 534</a></span>  <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1MessagePattern.html#a21e0740af1bae2300b3734488a5fe138">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &other)<span class="keyword"> const </span>{</div><div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  <span class="keywordflow">return</span> !<a class="code" href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">operator==</a>(other);</div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  }</div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> </div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  int32_t hashCode() <span class="keyword">const</span>;</div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span> </div><div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a04aa036147c53efb73d6068f4ab0ca3b"> 548</a></span>  <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> <a class="code" href="classicu_1_1MessagePattern.html#a04aa036147c53efb73d6068f4ab0ca3b">getApostropheMode</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span>  <span class="keywordflow">return</span> aposMode;</div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  }</div><div class="line"><a name="l00551"></a><span class="lineno"> 551</span> </div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  <span class="comment">// Java has package-private jdkAposMode() here.</span></div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span>  <span class="comment">// In C++, this is declared in the MessageImpl class.</span></div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> </div><div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#aa962d7f8e62a77935f6dc574a58f7452"> 559</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &<a class="code" href="classicu_1_1MessagePattern.html#aa962d7f8e62a77935f6dc574a58f7452">getPatternString</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  <span class="keywordflow">return</span> msg;</div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  }</div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> </div><div class="line"><a name="l00568"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a36ad0b520c254066a970e5581a796c7f"> 568</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1MessagePattern.html#a36ad0b520c254066a970e5581a796c7f">hasNamedArguments</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keywordflow">return</span> hasArgNames;</div><div class="line"><a name="l00570"></a><span class="lineno"> 570</span>  }</div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span> </div><div class="line"><a name="l00577"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a9d3cf9d08f6698e5c67bc8a656aa2106"> 577</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1MessagePattern.html#a9d3cf9d08f6698e5c67bc8a656aa2106">hasNumberedArguments</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="keywordflow">return</span> hasArgNumbers;</div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  }</div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span> </div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keyword">static</span> int32_t validateArgumentName(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &name);</div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> autoQuoteApostropheDeep() <span class="keyword">const</span>;</div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span> </div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span>  <span class="keyword">class </span><a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a>;</div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> </div><div class="line"><a name="l00614"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a1b937d90fe99c83c2248c374055e7827"> 614</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern.html#a1b937d90fe99c83c2248c374055e7827">countParts</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span>  <span class="keywordflow">return</span> partsLength;</div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  }</div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span> </div><div class="line"><a name="l00624"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#afdde90a04871a5d8820b14972af36c40"> 624</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> &<a class="code" href="classicu_1_1MessagePattern.html#afdde90a04871a5d8820b14972af36c40">getPart</a>(int32_t i)<span class="keyword"> const </span>{</div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keywordflow">return</span> parts[i];</div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span>  }</div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div><div class="line"><a name="l00635"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#ac0028705c9e95c699bd7cbb6819652bc"> 635</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> <a class="code" href="classicu_1_1MessagePattern.html#ac0028705c9e95c699bd7cbb6819652bc">getPartType</a>(int32_t i)<span class="keyword"> const </span>{</div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span>  <span class="keywordflow">return</span> getPart(i).type;</div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span>  }</div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div><div class="line"><a name="l00646"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#aa3fd08e8bc4db439b0094290687b4bde"> 646</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern.html#aa3fd08e8bc4db439b0094290687b4bde">getPatternIndex</a>(int32_t partIndex)<span class="keyword"> const </span>{</div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="keywordflow">return</span> getPart(partIndex).index;</div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  }</div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div><div class="line"><a name="l00657"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#aa3d2bde4b5c21b1660e562db8d87deb6"> 657</a></span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> <a class="code" href="classicu_1_1MessagePattern.html#aa3d2bde4b5c21b1660e562db8d87deb6">getSubstring</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> &part)<span class="keyword"> const </span>{</div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="keywordflow">return</span> msg.<a class="code" href="classicu_1_1UnicodeString.html#a99f5fd0abf6c8e53f21865bf0b737669">tempSubString</a>(part.index, part.length);</div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span>  }</div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span> </div><div class="line"><a name="l00668"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#acf231660a77b49b67e3bbf8c2ebdfdd1"> 668</a></span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1MessagePattern.html#acf231660a77b49b67e3bbf8c2ebdfdd1">partSubstringMatches</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> &part, <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &s)<span class="keyword"> const </span>{</div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  <span class="keywordflow">return</span> 0==msg.compare(part.index, part.length, s);</div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  }</div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordtype">double</span> getNumericValue(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> &part) <span class="keyword">const</span>;</div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span> </div><div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keywordtype">double</span> getPluralOffset(int32_t pluralStart) <span class="keyword">const</span>;</div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> </div><div class="line"><a name="l00696"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern.html#a80fbef3078aee0827a4001b095eabf0a"> 696</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern.html#a80fbef3078aee0827a4001b095eabf0a">getLimitPartIndex</a>(int32_t start)<span class="keyword"> const </span>{</div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  int32_t limit=getPart(start).limitPartIndex;</div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keywordflow">if</span>(limit<start) {</div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keywordflow">return</span> start;</div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  }</div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="keywordflow">return</span> limit;</div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  }</div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span> </div><div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html"> 711</a></span>  <span class="keyword">class </span><a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html">UMemory</a> {</div><div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">public</span>:</div><div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#aff7c0108068568d54065ac196c1a7908"> 717</a></span>  <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#aff7c0108068568d54065ac196c1a7908">Part</a>() {}</div><div class="line"><a name="l00718"></a><span class="lineno"> 718</span> </div><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#a943f7fd6901d12754cf38ed006f7725d"> 724</a></span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#a943f7fd6901d12754cf38ed006f7725d">getType</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00725"></a><span class="lineno"> 725</span>  <span class="keywordflow">return</span> type;</div><div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  }</div><div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div><div class="line"><a name="l00733"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#acdffe3987cbddbbf1b9398198fae5e9d"> 733</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#acdffe3987cbddbbf1b9398198fae5e9d">getIndex</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  <span class="keywordflow">return</span> index;</div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span>  }</div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> </div><div class="line"><a name="l00743"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#a326a9455e45f222357d5e76efe90ccae"> 743</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#a326a9455e45f222357d5e76efe90ccae">getLength</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <span class="keywordflow">return</span> length;</div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  }</div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div><div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#a00960d6407fa5d6d8c93bd20e9339000"> 753</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#a00960d6407fa5d6d8c93bd20e9339000">getLimit</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00754"></a><span class="lineno"> 754</span>  <span class="keywordflow">return</span> index+length;</div><div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  }</div><div class="line"><a name="l00756"></a><span class="lineno"> 756</span> </div><div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#a8203f71c45206c2d83dbe957c669ba61"> 763</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#a8203f71c45206c2d83dbe957c669ba61">getValue</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00764"></a><span class="lineno"> 764</span>  <span class="keywordflow">return</span> value;</div><div class="line"><a name="l00765"></a><span class="lineno"> 765</span>  }</div><div class="line"><a name="l00766"></a><span class="lineno"> 766</span> </div><div class="line"><a name="l00773"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#a3b8dadff166c7bb9e1327f090851b4e2"> 773</a></span>  <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#a3b8dadff166c7bb9e1327f090851b4e2">getArgType</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00774"></a><span class="lineno"> 774</span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> type=getType();</div><div class="line"><a name="l00775"></a><span class="lineno"> 775</span>  <span class="keywordflow">if</span>(type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c">UMSGPAT_PART_TYPE_ARG_START</a> || type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d">UMSGPAT_PART_TYPE_ARG_LIMIT</a>) {</div><div class="line"><a name="l00776"></a><span class="lineno"> 776</span>  <span class="keywordflow">return</span> (<a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a>)value;</div><div class="line"><a name="l00777"></a><span class="lineno"> 777</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00778"></a><span class="lineno"> 778</span>  <span class="keywordflow">return</span> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd">UMSGPAT_ARG_TYPE_NONE</a>;</div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span>  }</div><div class="line"><a name="l00780"></a><span class="lineno"> 780</span>  }</div><div class="line"><a name="l00781"></a><span class="lineno"> 781</span> </div><div class="line"><a name="l00789"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#afddc999512a58cfce452a418d357d197"> 789</a></span>  <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#afddc999512a58cfce452a418d357d197">hasNumericValue</a>(<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> type) {</div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span>  <span class="keywordflow">return</span> type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da">UMSGPAT_PART_TYPE_ARG_INT</a> || type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574">UMSGPAT_PART_TYPE_ARG_DOUBLE</a>;</div><div class="line"><a name="l00791"></a><span class="lineno"> 791</span>  }</div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span> </div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">operator==</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> &other) <span class="keyword">const</span>;</div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span> </div><div class="line"><a name="l00805"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#a8184afef101dc2d879da74c3b18586d9"> 805</a></span>  <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#a8184afef101dc2d879da74c3b18586d9">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> &other)<span class="keyword"> const </span>{</div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span>  <span class="keywordflow">return</span> !<a class="code" href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">operator==</a>(other);</div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span>  }</div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span> </div><div class="line"><a name="l00813"></a><span class="lineno"><a class="line" href="classicu_1_1MessagePattern_1_1Part.html#ad71d15c68657df404c58f56a63c16782"> 813</a></span>  int32_t <a class="code" href="classicu_1_1MessagePattern_1_1Part.html#ad71d15c68657df404c58f56a63c16782">hashCode</a>()<span class="keyword"> const </span>{</div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span>  <span class="keywordflow">return</span> ((type*37+index)*37+length)*37+value;</div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span>  }</div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span> </div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span>  <span class="keyword">private</span>:</div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a>;</div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> </div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32_t MAX_LENGTH=0xffff;</div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span>  <span class="keyword">static</span> <span class="keyword">const</span> int32_t MAX_VALUE=0x7fff;</div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> </div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span>  <span class="comment">// Some fields are not final because they are modified during pattern parsing.</span></div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span>  <span class="comment">// After pattern parsing, the parts are effectively immutable.</span></div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> type;</div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span>  int32_t index;</div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span>  uint16_t length;</div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span>  int16_t value;</div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span>  int32_t limitPartIndex;</div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span>  };</div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span> </div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="keyword">private</span>:</div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span>  <span class="keywordtype">void</span> preParse(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &pattern, <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span> </div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span>  <span class="keywordtype">void</span> postParse();</div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span>  int32_t parseMessage(int32_t index, int32_t msgStartLength,</div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span>  int32_t nestingLevel, <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> parentType,</div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span> </div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span>  int32_t parseArg(int32_t index, int32_t argStartLength, int32_t nestingLevel,</div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> </div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span>  int32_t parseSimpleStyle(int32_t index, <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span> </div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span>  int32_t parseChoiceStyle(int32_t index, int32_t nestingLevel,</div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span>  int32_t parsePluralOrSelectStyle(<a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> argType, int32_t index, int32_t nestingLevel,</div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span> </div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  <span class="keyword">static</span> int32_t parseArgNumber(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> &s, int32_t start, int32_t limit);</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span> </div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span>  int32_t parseArgNumber(int32_t start, int32_t limit) {</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span>  <span class="keywordflow">return</span> parseArgNumber(msg, start, limit);</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> </div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <span class="keywordtype">void</span> parseDouble(int32_t start, int32_t limit, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> allowInfinity,</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  <a class="code" href="structUParseError.html">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span> </div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  <span class="comment">// Java has package-private appendReducedApostrophes() here.</span></div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  <span class="comment">// In C++, this is declared in the MessageImpl class.</span></div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span> </div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  int32_t skipWhiteSpace(int32_t index);</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span> </div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  int32_t skipIdentifier(int32_t index);</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span> </div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  int32_t skipDouble(int32_t index);</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span> </div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span>  <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isArgTypeChar(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c);</div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span> </div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isChoice(int32_t index);</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>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isPlural(int32_t index);</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span> </div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isSelect(int32_t index);</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span> </div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> isOrdinal(int32_t index);</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span> </div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> inMessageFormatPattern(int32_t nestingLevel);</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span> </div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> inTopLevelChoiceMessage(int32_t nestingLevel, <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> parentType);</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span> </div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  <span class="keywordtype">void</span> addPart(<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> type, int32_t index, int32_t length,</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  int32_t value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span> </div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  <span class="keywordtype">void</span> addLimitPart(int32_t start,</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> type, int32_t index, int32_t length,</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  int32_t value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span> </div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span>  <span class="keywordtype">void</span> addArgDoublePart(<span class="keywordtype">double</span> numericValue, int32_t start, int32_t length, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span> </div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span>  <span class="keywordtype">void</span> setParseError(<a class="code" href="structUParseError.html">UParseError</a> *parseError, int32_t index);</div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span> </div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> init(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> copyStorage(<span class="keyword">const</span> <a class="code" href="classicu_1_1MessagePattern.html">MessagePattern</a> &other, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &errorCode);</div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span> </div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span>  <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> aposMode;</div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span>  <a class="code" href="classicu_1_1UnicodeString.html">UnicodeString</a> msg;</div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span>  <span class="comment">// ArrayList<Part> parts=new ArrayList<Part>();</span></div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span>  MessagePatternPartsList *partsList;</div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span>  <a class="code" href="classicu_1_1MessagePattern_1_1Part.html">Part</a> *parts;</div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span>  int32_t partsLength;</div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span>  <span class="comment">// ArrayList<Double> numericValues;</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span>  MessagePatternDoubleList *numericValuesList;</div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  <span class="keywordtype">double</span> *numericValues;</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  int32_t numericValuesLength;</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> hasArgNames;</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> hasArgNumbers;</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> needsAutoQuoting;</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span> };</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span> </div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span> <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a></div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="preprocessor">#endif // !UCONFIG_NO_FORMATTING</span></div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span> <span class="preprocessor">#endif // __MESSAGEPATTERN_H__</span></div><div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a">UMSGPAT_ARG_TYPE_SELECT</a></div><div class="ttdoc">The argument is a SelectFormat with one or more (ARG_SELECTOR, message) pairs. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00251">messagepattern.h:251</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da">UMSGPAT_PART_TYPE_ARG_INT</a></div><div class="ttdoc">An integer value, for example the offset or an explicit selector value in a PluralFormat style...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00196">messagepattern.h:196</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574">UMSGPAT_PART_TYPE_ARG_DOUBLE</a></div><div class="ttdoc">A numeric value, for example the offset or an explicit selector value in a PluralFormat style...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00204">messagepattern.h:204</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_afdde90a04871a5d8820b14972af36c40"><div class="ttname"><a href="classicu_1_1MessagePattern.html#afdde90a04871a5d8820b14972af36c40">icu::MessagePattern::getPart</a></div><div class="ttdeci">const Part & getPart(int32_t i) const </div><div class="ttdoc">Gets the i-th pattern "part". </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00624">messagepattern.h:624</a></div></div> <div class="ttc" id="messagepattern_8h_html_af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7"><div class="ttname"><a href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7">UMSGPAT_APOS_DOUBLE_OPTIONAL</a></div><div class="ttdoc">A literal apostrophe is represented by either a single or a double apostrophe pattern character...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00080">messagepattern.h:80</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf">UMSGPAT_PART_TYPE_ARG_NAME</a></div><div class="ttdoc">The argument name. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00171">messagepattern.h:171</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a80fbef3078aee0827a4001b095eabf0a"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a80fbef3078aee0827a4001b095eabf0a">icu::MessagePattern::getLimitPartIndex</a></div><div class="ttdeci">int32_t getLimitPartIndex(int32_t start) const </div><div class="ttdoc">Returns the index of the ARG|MSG_LIMIT part corresponding to the ARG|MSG_START at start...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00696">messagepattern.h:696</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_acdffe3987cbddbbf1b9398198fae5e9d"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#acdffe3987cbddbbf1b9398198fae5e9d">icu::MessagePattern::Part::getIndex</a></div><div class="ttdeci">int32_t getIndex() const </div><div class="ttdoc">Returns the pattern string index associated with this Part. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00733">messagepattern.h:733</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a21e0740af1bae2300b3734488a5fe138"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a21e0740af1bae2300b3734488a5fe138">icu::MessagePattern::operator!=</a></div><div class="ttdeci">UBool operator!=(const MessagePattern &other) const </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00534">messagepattern.h:534</a></div></div> <div class="ttc" id="unistr_8h_html"><div class="ttname"><a href="unistr_8h.html">unistr.h</a></div><div class="ttdoc">C++ API: Unicode String. </div></div> <div class="ttc" id="namespaceicu_html_a1c2f6ca43e636f38d1a3291eb851e9f0"><div class="ttname"><a href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">icu::operator==</a></div><div class="ttdeci">U_EXPORT UBool operator==(const StringPiece &x, const StringPiece &y)</div><div class="ttdoc">Global operator == for StringPiece. </div></div> <div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd">UMSGPAT_ARG_TYPE_NONE</a></div><div class="ttdoc">The argument has no specified type. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00224">messagepattern.h:224</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_acf231660a77b49b67e3bbf8c2ebdfdd1"><div class="ttname"><a href="classicu_1_1MessagePattern.html#acf231660a77b49b67e3bbf8c2ebdfdd1">icu::MessagePattern::partSubstringMatches</a></div><div class="ttdeci">UBool partSubstringMatches(const Part &part, const UnicodeString &s) const </div><div class="ttdoc">Compares the part&#39;s substring with the input string s. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00668">messagepattern.h:668</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_a00960d6407fa5d6d8c93bd20e9339000"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#a00960d6407fa5d6d8c93bd20e9339000">icu::MessagePattern::Part::getLimit</a></div><div class="ttdeci">int32_t getLimit() const </div><div class="ttdoc">Returns the pattern string limit (exclusive-end) index associated with this Part. ...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00753">messagepattern.h:753</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a9d3cf9d08f6698e5c67bc8a656aa2106"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a9d3cf9d08f6698e5c67bc8a656aa2106">icu::MessagePattern::hasNumberedArguments</a></div><div class="ttdeci">UBool hasNumberedArguments() const </div><div class="ttdoc">Does the parsed pattern have numbered arguments like {2}? </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00577">messagepattern.h:577</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe">UMSGPAT_PART_TYPE_ARG_STYLE</a></div><div class="ttdoc">The argument style text. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00183">messagepattern.h:183</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a36ad0b520c254066a970e5581a796c7f"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a36ad0b520c254066a970e5581a796c7f">icu::MessagePattern::hasNamedArguments</a></div><div class="ttdeci">UBool hasNamedArguments() const </div><div class="ttdoc">Does the parsed pattern have named arguments like {first_name}? </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00568">messagepattern.h:568</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_afddc999512a58cfce452a418d357d197"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#afddc999512a58cfce452a418d357d197">icu::MessagePattern::Part::hasNumericValue</a></div><div class="ttdeci">static UBool hasNumericValue(UMessagePatternPartType type)</div><div class="ttdoc">Indicates whether the Part type has a numeric value. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00789">messagepattern.h:789</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a></div><div class="ttdeci">UMessagePatternPartType</div><div class="ttdoc">MessagePattern::Part type constants. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00100">messagepattern.h:100</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de">UMSGPAT_PART_TYPE_ARG_NUMBER</a></div><div class="ttdoc">The argument number, provided by the value. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00165">messagepattern.h:165</a></div></div> <div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f">UMSGPAT_ARG_TYPE_SELECTORDINAL</a></div><div class="ttdoc">The argument is an ordinal-number PluralFormat with the same style parts sequence and semantics as UM...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00257">messagepattern.h:257</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a7e7d539e8f97c4ad607661e78bad2839"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a7e7d539e8f97c4ad607661e78bad2839">icu::MessagePattern::clearPatternAndSetApostropheMode</a></div><div class="ttdeci">void clearPatternAndSetApostropheMode(UMessagePatternApostropheMode mode)</div><div class="ttdoc">Clears this MessagePattern and sets the UMessagePatternApostropheMode. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00517">messagepattern.h:517</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html"><div class="ttname"><a href="classicu_1_1MessagePattern.html">icu::MessagePattern</a></div><div class="ttdoc">Parses and represents ICU MessageFormat patterns. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00360">messagepattern.h:360</a></div></div> <div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095">UMSGPAT_ARG_TYPE_CHOICE</a></div><div class="ttdoc">The argument is a ChoiceFormat with one or more ((ARG_INT | ARG_DOUBLE), ARG_SELECTOR, message) tuples. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00236">messagepattern.h:236</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_a8184afef101dc2d879da74c3b18586d9"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#a8184afef101dc2d879da74c3b18586d9">icu::MessagePattern::Part::operator!=</a></div><div class="ttdeci">UBool operator!=(const Part &other) const </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00805">messagepattern.h:805</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_aa962d7f8e62a77935f6dc574a58f7452"><div class="ttname"><a href="classicu_1_1MessagePattern.html#aa962d7f8e62a77935f6dc574a58f7452">icu::MessagePattern::getPatternString</a></div><div class="ttdeci">const UnicodeString & getPatternString() const </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00559">messagepattern.h:559</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a04aa036147c53efb73d6068f4ab0ca3b"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a04aa036147c53efb73d6068f4ab0ca3b">icu::MessagePattern::getApostropheMode</a></div><div class="ttdeci">UMessagePatternApostropheMode getApostropheMode() const </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00548">messagepattern.h:548</a></div></div> <div class="ttc" id="uversion_8h_html_a7d9374e037299886d4192b763b4c5e8b"><div class="ttname"><a href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b">U_NAMESPACE_BEGIN</a></div><div class="ttdeci">#define U_NAMESPACE_BEGIN</div><div class="ttdoc">This is used to begin a declaration of a public ICU C++ API. </div><div class="ttdef"><b>Definition:</b> <a href="uversion_8h_source.html#l00131">uversion.h:131</a></div></div> <div class="ttc" id="messagepattern_8h_html_a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda"><div class="ttname"><a href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda">UMSGPAT_ARG_NAME_NOT_NUMBER</a></div><div class="ttdoc">Return value from MessagePattern.validateArgumentName() for when the string is a valid "pattern ident...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00279">messagepattern.h:279</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_a1b937d90fe99c83c2248c374055e7827"><div class="ttname"><a href="classicu_1_1MessagePattern.html#a1b937d90fe99c83c2248c374055e7827">icu::MessagePattern::countParts</a></div><div class="ttdeci">int32_t countParts() const </div><div class="ttdoc">Returns the number of "parts" created by parsing the pattern string. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00614">messagepattern.h:614</a></div></div> <div class="ttc" id="messagepattern_8h_html_af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78"><div class="ttname"><a href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78">UMSGPAT_APOS_DOUBLE_REQUIRED</a></div><div class="ttdoc">A literal apostrophe must be represented by a double apostrophe pattern character. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00089">messagepattern.h:89</a></div></div> <div class="ttc" id="classicu_1_1UnicodeString_html_a99f5fd0abf6c8e53f21865bf0b737669"><div class="ttname"><a href="classicu_1_1UnicodeString.html#a99f5fd0abf6c8e53f21865bf0b737669">icu::UnicodeString::tempSubString</a></div><div class="ttdeci">UnicodeString tempSubString(int32_t start=0, int32_t length=INT32_MAX) const </div><div class="ttdoc">Create a temporary substring for the specified range. </div></div> <div class="ttc" id="umachine_8h_html_a09fff5c3b5a5b015324dc3ec3cf92809"><div class="ttname"><a href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a></div><div class="ttdeci">int32_t UChar32</div><div class="ttdoc">Define UChar32 as a type for single Unicode code points. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00357">umachine.h:357</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c">UMSGPAT_PART_TYPE_INSERT_CHAR</a></div><div class="ttdoc">Indicates that a syntax character needs to be inserted for auto-quoting. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00134">messagepattern.h:134</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_aa3d2bde4b5c21b1660e562db8d87deb6"><div class="ttname"><a href="classicu_1_1MessagePattern.html#aa3d2bde4b5c21b1660e562db8d87deb6">icu::MessagePattern::getSubstring</a></div><div class="ttdeci">UnicodeString getSubstring(const Part &part) const </div><div class="ttdoc">Returns the substring of the pattern string indicated by the Part. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00657">messagepattern.h:657</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_aa3fd08e8bc4db439b0094290687b4bde"><div class="ttname"><a href="classicu_1_1MessagePattern.html#aa3fd08e8bc4db439b0094290687b4bde">icu::MessagePattern::getPatternIndex</a></div><div class="ttdeci">int32_t getPatternIndex(int32_t partIndex) const </div><div class="ttdoc">Returns the pattern index of the specified pattern "part". </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00646">messagepattern.h:646</a></div></div> <div class="ttc" id="messagepattern_8h_html_a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50"><div class="ttname"><a href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50">UMSGPAT_ARG_NAME_NOT_VALID</a></div><div class="ttdoc">Return value from MessagePattern.validateArgumentName() for when the string is invalid. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00288">messagepattern.h:288</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff">UMSGPAT_PART_TYPE_MSG_START</a></div><div class="ttdoc">Start of a message pattern (main or nested). </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00110">messagepattern.h:110</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d">UMSGPAT_PART_TYPE_ARG_LIMIT</a></div><div class="ttdoc">End of an argument. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00160">messagepattern.h:160</a></div></div> <div class="ttc" id="uversion_8h_html_a3da1f00f3b02976ac53c014a3e4c0933"><div class="ttname"><a href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933">U_NAMESPACE_END</a></div><div class="ttdeci">#define U_NAMESPACE_END</div><div class="ttdoc">This is used to end a declaration of a public ICU C++ API. </div><div class="ttdef"><b>Definition:</b> <a href="uversion_8h_source.html#l00132">uversion.h:132</a></div></div> <div class="ttc" id="parseerr_8h_html"><div class="ttname"><a href="parseerr_8h.html">parseerr.h</a></div><div class="ttdoc">C API: Parse Error Information. </div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add">UMSGPAT_PART_TYPE_MSG_LIMIT</a></div><div class="ttdoc">End of a message pattern (main or nested). </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00119">messagepattern.h:119</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413">UMSGPAT_PART_TYPE_ARG_SELECTOR</a></div><div class="ttdoc">A selector substring in a "complex" argument style. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00189">messagepattern.h:189</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d">UMSGPAT_PART_TYPE_SKIP_SYNTAX</a></div><div class="ttdoc">Indicates a substring of the pattern string which is to be skipped when formatting. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00127">messagepattern.h:127</a></div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78c"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a></div><div class="ttdeci">UErrorCode</div><div class="ttdoc">Error code to replace exception handling, so that the code is compatible with all C++ compilers...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00396">utypes.h:396</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_aff7c0108068568d54065ac196c1a7908"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#aff7c0108068568d54065ac196c1a7908">icu::MessagePattern::Part::Part</a></div><div class="ttdeci">Part()</div><div class="ttdoc">Default constructor, do not use. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00717">messagepattern.h:717</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html">icu::MessagePattern::Part</a></div><div class="ttdoc">A message pattern "part", representing a pattern parsing event. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00711">messagepattern.h:711</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f">UMSGPAT_PART_TYPE_REPLACE_NUMBER</a></div><div class="ttdoc">Indicates a syntactic (non-escaped) # symbol in a plural variant. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00142">messagepattern.h:142</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_a8203f71c45206c2d83dbe957c669ba61"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#a8203f71c45206c2d83dbe957c669ba61">icu::MessagePattern::Part::getValue</a></div><div class="ttdeci">int32_t getValue() const </div><div class="ttdoc">Returns a value associated with this part. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00763">messagepattern.h:763</a></div></div> <div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0">UMSGPAT_ARG_TYPE_PLURAL</a></div><div class="ttdoc">The argument is a cardinal-number PluralFormat with an optional ARG_INT or ARG_DOUBLE offset (e...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00246">messagepattern.h:246</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b">UMSGPAT_PART_TYPE_ARG_TYPE</a></div><div class="ttdoc">The argument type. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00177">messagepattern.h:177</a></div></div> <div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a></div><div class="ttdeci">UMessagePatternArgType</div><div class="ttdoc">Argument type constants. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00219">messagepattern.h:219</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_html_ac0028705c9e95c699bd7cbb6819652bc"><div class="ttname"><a href="classicu_1_1MessagePattern.html#ac0028705c9e95c699bd7cbb6819652bc">icu::MessagePattern::getPartType</a></div><div class="ttdeci">UMessagePatternPartType getPartType(int32_t i) const </div><div class="ttdoc">Returns the UMessagePatternPartType of the i-th pattern "part". </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00635">messagepattern.h:635</a></div></div> <div class="ttc" id="structUParseError_html"><div class="ttname"><a href="structUParseError.html">UParseError</a></div><div class="ttdoc">A UParseError struct is used to returned detailed information about parsing errors. </div><div class="ttdef"><b>Definition:</b> <a href="parseerr_8h_source.html#l00058">parseerr.h:58</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="utypes_8h_html_a559955ec3bc692657c5d8b1c6de8e334"><div class="ttname"><a href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334">U_COMMON_API</a></div><div class="ttdeci">#define U_COMMON_API</div><div class="ttdoc">Set to export library symbols from inside the common library, and to import them from outside...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00359">utypes.h:359</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="classicu_1_1MessagePattern_1_1Part_html_a326a9455e45f222357d5e76efe90ccae"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#a326a9455e45f222357d5e76efe90ccae">icu::MessagePattern::Part::getLength</a></div><div class="ttdeci">int32_t getLength() const </div><div class="ttdoc">Returns the length of the pattern substring associated with this Part. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00743">messagepattern.h:743</a></div></div> <div class="ttc" id="messagepattern_8h_html_a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e"><div class="ttname"><a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e">UMSGPAT_ARG_TYPE_SIMPLE</a></div><div class="ttdoc">The argument has a "simple" type which is provided by the ARG_TYPE part. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00230">messagepattern.h:230</a></div></div> <div class="ttc" id="messagepattern_8h_html_a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c"><div class="ttname"><a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c">UMSGPAT_PART_TYPE_ARG_START</a></div><div class="ttdoc">Start of an argument. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00153">messagepattern.h:153</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="classicu_1_1UMemory_html"><div class="ttname"><a href="classicu_1_1UMemory.html">icu::UMemory</a></div><div class="ttdoc">UMemory is the common ICU base class. </div><div class="ttdef"><b>Definition:</b> <a href="uobject_8h_source.html#l00112">uobject.h:112</a></div></div> <div class="ttc" id="messagepattern_8h_html_af6e0757e0eb81c980b01ee5d68a9978b"><div class="ttname"><a href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a></div><div class="ttdeci">UMessagePatternApostropheMode</div><div class="ttdoc">Mode for when an apostrophe starts quoted literal text for MessageFormat output. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00068">messagepattern.h:68</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_a943f7fd6901d12754cf38ed006f7725d"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#a943f7fd6901d12754cf38ed006f7725d">icu::MessagePattern::Part::getType</a></div><div class="ttdeci">UMessagePatternPartType getType() const </div><div class="ttdoc">Returns the type of this part. </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00724">messagepattern.h:724</a></div></div> <div class="ttc" id="umachine_8h_html_a349ef00011f20ccd1d3b424445681aa5"><div class="ttname"><a href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a></div><div class="ttdeci">int8_t UBool</div><div class="ttdoc">The ICU boolean type. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00259">umachine.h:259</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_ad71d15c68657df404c58f56a63c16782"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#ad71d15c68657df404c58f56a63c16782">icu::MessagePattern::Part::hashCode</a></div><div class="ttdeci">int32_t hashCode() const </div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00813">messagepattern.h:813</a></div></div> <div class="ttc" id="classicu_1_1MessagePattern_1_1Part_html_a3b8dadff166c7bb9e1327f090851b4e2"><div class="ttname"><a href="classicu_1_1MessagePattern_1_1Part.html#a3b8dadff166c7bb9e1327f090851b4e2">icu::MessagePattern::Part::getArgType</a></div><div class="ttdeci">UMessagePatternArgType getArgType() const </div><div class="ttdoc">Returns the argument type if this part is of type ARG_START or ARG_LIMIT, otherwise UMSGPAT_ARG_TYPE_...</div><div class="ttdef"><b>Definition:</b> <a href="messagepattern_8h_source.html#l00773">messagepattern.h:773</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.11 </small></address> </body> </html>