Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > 0508df3f0f31cdc1fec017f60572b2b0 > files > 498

libicu-doc-4.8.1.1-5.fc17.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>ICU 4.8.1.1: 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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ICU 4.8.1.1
   &#160;<span id="projectnumber">4.8.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></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_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.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>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment">*******************************************************************************</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment">*   Copyright (C) 2011, International Business Machines</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment">*   Corporation and others.  All Rights Reserved.</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment">*******************************************************************************</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment">*   file name:  messagepattern.h</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment">*   encoding:   US-ASCII</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment">*   tab size:   8 (not used)</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment">*   indentation:4</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment">*   created on: 2011mar14</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment">*   created by: Markus W. Scherer</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment">*/</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="preprocessor">#ifndef __MESSAGEPATTERN_H__</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="preprocessor"></span><span class="preprocessor">#define __MESSAGEPATTERN_H__</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>&quot;</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;</div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="preprocessor">#if !UCONFIG_NO_FORMATTING</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="parseerr_8h.html" title="C API: Parse Error Information.">unicode/parseerr.h</a>&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="unistr_8h.html" title="C++ API: Unicode String.">unicode/unistr.h</a>&quot;</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;</div>
<div class="line"><a name="l00066"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">   66</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a> {</div>
<div class="line"><a name="l00078"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7">   78</a></span>&#160;    <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7" title="A literal apostrophe is represented by either a single or a double apostrophe pattern character...">UMSGPAT_APOS_DOUBLE_OPTIONAL</a>,</div>
<div class="line"><a name="l00087"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78">   87</a></span>&#160;    <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78" title="A literal apostrophe must be represented by a double apostrophe pattern character.">UMSGPAT_APOS_DOUBLE_REQUIRED</a></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;};</div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a56aa1f898bc4cb898a0cb2facb19b258">   92</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a> <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a>;</div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;</div>
<div class="line"><a name="l00098"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">   98</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> {</div>
<div class="line"><a name="l00108"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff">  108</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff" title="Start of a message pattern (main or nested).">UMSGPAT_PART_TYPE_MSG_START</a>,</div>
<div class="line"><a name="l00117"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add">  117</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add" title="End of a message pattern (main or nested).">UMSGPAT_PART_TYPE_MSG_LIMIT</a>,</div>
<div class="line"><a name="l00125"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d">  125</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d" title="Indicates a substring of the pattern string which is to be skipped when formatting.">UMSGPAT_PART_TYPE_SKIP_SYNTAX</a>,</div>
<div class="line"><a name="l00132"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c">  132</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c" title="Indicates that a syntax character needs to be inserted for auto-quoting.">UMSGPAT_PART_TYPE_INSERT_CHAR</a>,</div>
<div class="line"><a name="l00140"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f">  140</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f" title="Indicates a syntactic (non-escaped) # symbol in a plural variant.">UMSGPAT_PART_TYPE_REPLACE_NUMBER</a>,</div>
<div class="line"><a name="l00147"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c">  147</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c" title="Start of an argument.">UMSGPAT_PART_TYPE_ARG_START</a>,</div>
<div class="line"><a name="l00158"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d">  158</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d" title="End of an argument.">UMSGPAT_PART_TYPE_ARG_LIMIT</a>,</div>
<div class="line"><a name="l00163"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de">  163</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de" title="The argument number, provided by the value.">UMSGPAT_PART_TYPE_ARG_NUMBER</a>,</div>
<div class="line"><a name="l00169"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf">  169</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf" title="The argument name.">UMSGPAT_PART_TYPE_ARG_NAME</a>,</div>
<div class="line"><a name="l00175"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b">  175</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b" title="The argument type.">UMSGPAT_PART_TYPE_ARG_TYPE</a>,</div>
<div class="line"><a name="l00181"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe">  181</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe" title="The argument style text.">UMSGPAT_PART_TYPE_ARG_STYLE</a>,</div>
<div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413">  187</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413" title="A selector substring in a &quot;complex&quot; argument style.">UMSGPAT_PART_TYPE_ARG_SELECTOR</a>,</div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da">  194</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da" title="An integer value, for example the offset or an explicit selector value in a PluralFormat style...">UMSGPAT_PART_TYPE_ARG_INT</a>,</div>
<div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574">  202</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574" title="A numeric value, for example the offset or an explicit selector value in a PluralFormat style...">UMSGPAT_PART_TYPE_ARG_DOUBLE</a></div>
<div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;};</div>
<div class="line"><a name="l00207"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a26bb77f47a6057af80c25d97bf2a2595">  207</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a>;</div>
<div class="line"><a name="l00208"></a><span class="lineno">  208</span>&#160;</div>
<div class="line"><a name="l00217"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">  217</a></span>&#160;<span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a> {</div>
<div class="line"><a name="l00222"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd">  222</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd" title="The argument has no specified type.">UMSGPAT_ARG_TYPE_NONE</a>,</div>
<div class="line"><a name="l00228"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e">  228</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e" title="The argument has a &quot;simple&quot; type which is provided by the ARG_TYPE part.">UMSGPAT_ARG_TYPE_SIMPLE</a>,</div>
<div class="line"><a name="l00234"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095">  234</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095" title="The argument is a ChoiceFormat with one or more ((ARG_INT | ARG_DOUBLE), ARG_SELECTOR, message) tuples.">UMSGPAT_ARG_TYPE_CHOICE</a>,</div>
<div class="line"><a name="l00244"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0">  244</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0" title="The argument is a PluralFormat with an optional ARG_INT or ARG_DOUBLE offset (e.g., offset:1) and one or more (ARG_SELECTOR [explicit-value] message) tuples.">UMSGPAT_ARG_TYPE_PLURAL</a>,</div>
<div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a">  249</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a" title="The argument is a SelectFormat with one or more (ARG_SELECTOR, message) pairs.">UMSGPAT_ARG_TYPE_SELECT</a></div>
<div class="line"><a name="l00250"></a><span class="lineno">  250</span>&#160;};</div>
<div class="line"><a name="l00254"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a3f22f44bff63324c2a6591e7a7dde523">  254</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a>;</div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;</div>
<div class="line"><a name="l00259"></a><span class="lineno">  259</span>&#160;<span class="keyword">enum</span> {</div>
<div class="line"><a name="l00265"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda">  265</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda" title="Return value from MessagePattern.validateArgumentName() for when the string is a valid &quot;pattern ident...">UMSGPAT_ARG_NAME_NOT_NUMBER</a>=-1,</div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;</div>
<div class="line"><a name="l00274"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50">  274</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50" title="Return value from MessagePattern.validateArgumentName() for when the string is invalid.">UMSGPAT_ARG_NAME_NOT_VALID</a>=-2</div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;};</div>
<div class="line"><a name="l00276"></a><span class="lineno">  276</span>&#160;</div>
<div class="line"><a name="l00283"></a><span class="lineno"><a class="code" href="messagepattern_8h.html#af8a7d74f8813a30c41f063dde64e3c12">  283</a></span>&#160;<span class="preprocessor">#define UMSGPAT_NO_NUMERIC_VALUE ((double)(-123456789))</span></div>
<div class="line"><a name="l00284"></a><span class="lineno">  284</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00285"></a><span class="lineno">  285</span>&#160;<a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b" title="This is used to begin a declaration of a public ICU C++ API.">U_NAMESPACE_BEGIN</a></div>
<div class="line"><a name="l00286"></a><span class="lineno">  286</span>&#160;</div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;<span class="keyword">class </span>MessagePatternDoubleList;</div>
<div class="line"><a name="l00288"></a><span class="lineno">  288</span>&#160;<span class="keyword">class </span>MessagePatternPartsList;</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;</div>
<div class="line"><a name="l00346"></a><span class="lineno"><a class="code" href="classMessagePattern.html">  346</a></span>&#160;<span class="keyword">class </span><a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334" title="Set to export library symbols from inside the common library, and to import them from outside...">U_COMMON_API</a> <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> : <span class="keyword">public</span> <a class="code" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> {</div>
<div class="line"><a name="l00347"></a><span class="lineno">  347</span>&#160;<span class="keyword">public</span>:</div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;</div>
<div class="line"><a name="l00367"></a><span class="lineno">  367</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>(<a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a> mode, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00368"></a><span class="lineno">  368</span>&#160;</div>
<div class="line"><a name="l00387"></a><span class="lineno">  387</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;pattern, <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00388"></a><span class="lineno">  388</span>&#160;</div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;other);</div>
<div class="line"><a name="l00395"></a><span class="lineno">  395</span>&#160;</div>
<div class="line"><a name="l00402"></a><span class="lineno">  402</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;operator=(<span class="keyword">const</span> <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;other);</div>
<div class="line"><a name="l00403"></a><span class="lineno">  403</span>&#160;</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160;    <span class="keyword">virtual</span> ~<a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>();</div>
<div class="line"><a name="l00409"></a><span class="lineno">  409</span>&#160;</div>
<div class="line"><a name="l00427"></a><span class="lineno">  427</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;parse(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;pattern,</div>
<div class="line"><a name="l00428"></a><span class="lineno">  428</span>&#160;                          <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;</div>
<div class="line"><a name="l00447"></a><span class="lineno">  447</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;parseChoiceStyle(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;pattern,</div>
<div class="line"><a name="l00448"></a><span class="lineno">  448</span>&#160;                                     <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00449"></a><span class="lineno">  449</span>&#160;</div>
<div class="line"><a name="l00467"></a><span class="lineno">  467</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;parsePluralStyle(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;pattern,</div>
<div class="line"><a name="l00468"></a><span class="lineno">  468</span>&#160;                                     <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00469"></a><span class="lineno">  469</span>&#160;</div>
<div class="line"><a name="l00487"></a><span class="lineno">  487</span>&#160;    <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;parseSelectStyle(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;pattern,</div>
<div class="line"><a name="l00488"></a><span class="lineno">  488</span>&#160;                                     <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00489"></a><span class="lineno">  489</span>&#160;</div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;    <span class="keywordtype">void</span> clear();</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;</div>
<div class="line"><a name="l00503"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a0c172d707bc68d862e4f832f72be879c">  503</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="classMessagePattern.html#a0c172d707bc68d862e4f832f72be879c" title="Clears this MessagePattern and sets the UMessagePatternApostropheMode.">clearPatternAndSetApostropheMode</a>(<a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a> mode) {</div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        clear();</div>
<div class="line"><a name="l00505"></a><span class="lineno">  505</span>&#160;        aposMode=mode;</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160;    }</div>
<div class="line"><a name="l00507"></a><span class="lineno">  507</span>&#160;</div>
<div class="line"><a name="l00513"></a><span class="lineno">  513</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;other) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;</div>
<div class="line"><a name="l00520"></a><span class="lineno"><a class="code" href="classMessagePattern.html#aca2407d95b1c40170232693635807bae">  520</a></span>&#160;    <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classMessagePattern.html#aca2407d95b1c40170232693635807bae">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00521"></a><span class="lineno">  521</span>&#160;        <span class="keywordflow">return</span> !<a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</a>(other);</div>
<div class="line"><a name="l00522"></a><span class="lineno">  522</span>&#160;    }</div>
<div class="line"><a name="l00523"></a><span class="lineno">  523</span>&#160;</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;    int32_t hashCode() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;</div>
<div class="line"><a name="l00534"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a92def3fb9e52e86c73d2f275a9a7e5c9">  534</a></span>&#160;    <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a> <a class="code" href="classMessagePattern.html#a92def3fb9e52e86c73d2f275a9a7e5c9">getApostropheMode</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00535"></a><span class="lineno">  535</span>&#160;        <span class="keywordflow">return</span> aposMode;</div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;    }</div>
<div class="line"><a name="l00537"></a><span class="lineno">  537</span>&#160;</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;    <span class="comment">// Java has package-private jdkAposMode() here.</span></div>
<div class="line"><a name="l00539"></a><span class="lineno">  539</span>&#160;    <span class="comment">// In C++, this is declared in the MessageImpl class.</span></div>
<div class="line"><a name="l00540"></a><span class="lineno">  540</span>&#160;</div>
<div class="line"><a name="l00545"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a26d664e478ec9e6a4f222fb988049195">  545</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;<a class="code" href="classMessagePattern.html#a26d664e478ec9e6a4f222fb988049195">getPatternString</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00546"></a><span class="lineno">  546</span>&#160;        <span class="keywordflow">return</span> msg;</div>
<div class="line"><a name="l00547"></a><span class="lineno">  547</span>&#160;    }</div>
<div class="line"><a name="l00548"></a><span class="lineno">  548</span>&#160;</div>
<div class="line"><a name="l00554"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a8be98b81835df3b21473414d8ac50203">  554</a></span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classMessagePattern.html#a8be98b81835df3b21473414d8ac50203" title="Does the parsed pattern have named arguments like {first_name}?">hasNamedArguments</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00555"></a><span class="lineno">  555</span>&#160;        <span class="keywordflow">return</span> hasArgNames;</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160;    }</div>
<div class="line"><a name="l00557"></a><span class="lineno">  557</span>&#160;</div>
<div class="line"><a name="l00563"></a><span class="lineno"><a class="code" href="classMessagePattern.html#ad8fc15c49b8a85971ae01c6294c443bf">  563</a></span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classMessagePattern.html#ad8fc15c49b8a85971ae01c6294c443bf" title="Does the parsed pattern have numbered arguments like {2}?">hasNumberedArguments</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        <span class="keywordflow">return</span> hasArgNumbers;</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;    }</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;</div>
<div class="line"><a name="l00578"></a><span class="lineno">  578</span>&#160;    <span class="keyword">static</span> int32_t validateArgumentName(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;name);</div>
<div class="line"><a name="l00579"></a><span class="lineno">  579</span>&#160;</div>
<div class="line"><a name="l00590"></a><span class="lineno">  590</span>&#160;    <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> autoQuoteApostropheDeep() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00591"></a><span class="lineno">  591</span>&#160;</div>
<div class="line"><a name="l00592"></a><span class="lineno">  592</span>&#160;    <span class="keyword">class </span>Part;</div>
<div class="line"><a name="l00593"></a><span class="lineno">  593</span>&#160;</div>
<div class="line"><a name="l00600"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a86b10d7c0844433cf6e9450d4abd3760">  600</a></span>&#160;    int32_t <a class="code" href="classMessagePattern.html#a86b10d7c0844433cf6e9450d4abd3760" title="Returns the number of &quot;parts&quot; created by parsing the pattern string.">countParts</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00601"></a><span class="lineno">  601</span>&#160;        <span class="keywordflow">return</span> partsLength;</div>
<div class="line"><a name="l00602"></a><span class="lineno">  602</span>&#160;    }</div>
<div class="line"><a name="l00603"></a><span class="lineno">  603</span>&#160;</div>
<div class="line"><a name="l00610"></a><span class="lineno"><a class="code" href="classMessagePattern.html#acc6f5d3c29e84d3f0c1b1978def5a31c">  610</a></span>&#160;    <span class="keyword">const</span> <a class="code" href="classMessagePattern_1_1Part.html" title="A message pattern &quot;part&quot;, representing a pattern parsing event.">Part</a> &amp;<a class="code" href="classMessagePattern.html#acc6f5d3c29e84d3f0c1b1978def5a31c" title="Gets the i-th pattern &quot;part&quot;.">getPart</a>(int32_t i)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00611"></a><span class="lineno">  611</span>&#160;        <span class="keywordflow">return</span> parts[i];</div>
<div class="line"><a name="l00612"></a><span class="lineno">  612</span>&#160;    }</div>
<div class="line"><a name="l00613"></a><span class="lineno">  613</span>&#160;</div>
<div class="line"><a name="l00621"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a390e96e08ad0d843a0b220d6bec9523d">  621</a></span>&#160;    <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> <a class="code" href="classMessagePattern.html#a390e96e08ad0d843a0b220d6bec9523d" title="Returns the UMessagePatternPartType of the i-th pattern &quot;part&quot;.">getPartType</a>(int32_t i)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;        <span class="keywordflow">return</span> getPart(i).type;</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160;    }</div>
<div class="line"><a name="l00624"></a><span class="lineno">  624</span>&#160;</div>
<div class="line"><a name="l00632"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a77a1748b2263e7ca476ca7d7a5752a6b">  632</a></span>&#160;    int32_t <a class="code" href="classMessagePattern.html#a77a1748b2263e7ca476ca7d7a5752a6b" title="Returns the pattern index of the specified pattern &quot;part&quot;.">getPatternIndex</a>(int32_t partIndex)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00633"></a><span class="lineno">  633</span>&#160;        <span class="keywordflow">return</span> getPart(partIndex).index;</div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;    }</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160;</div>
<div class="line"><a name="l00643"></a><span class="lineno"><a class="code" href="classMessagePattern.html#ae083600656e59ceb8448289cc731b424">  643</a></span>&#160;    <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> <a class="code" href="classMessagePattern.html#ae083600656e59ceb8448289cc731b424" title="Returns the substring of the pattern string indicated by the Part.">getSubstring</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern_1_1Part.html" title="A message pattern &quot;part&quot;, representing a pattern parsing event.">Part</a> &amp;part)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00644"></a><span class="lineno">  644</span>&#160;        <span class="keywordflow">return</span> msg.<a class="code" href="classUnicodeString.html#a30401646a2726ade768c56b0b219faa0" title="Create a temporary substring for the specified range.">tempSubString</a>(part.index, part.length);</div>
<div class="line"><a name="l00645"></a><span class="lineno">  645</span>&#160;    }</div>
<div class="line"><a name="l00646"></a><span class="lineno">  646</span>&#160;</div>
<div class="line"><a name="l00654"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a763ac8f581361970b9c017c24e4ffa6d">  654</a></span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classMessagePattern.html#a763ac8f581361970b9c017c24e4ffa6d" title="Compares the part&#39;s substring with the input string s.">partSubstringMatches</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern_1_1Part.html" title="A message pattern &quot;part&quot;, representing a pattern parsing event.">Part</a> &amp;part, <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;s)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00655"></a><span class="lineno">  655</span>&#160;        <span class="keywordflow">return</span> 0==msg.compare(part.index, part.length, s);</div>
<div class="line"><a name="l00656"></a><span class="lineno">  656</span>&#160;    }</div>
<div class="line"><a name="l00657"></a><span class="lineno">  657</span>&#160;</div>
<div class="line"><a name="l00664"></a><span class="lineno">  664</span>&#160;    <span class="keywordtype">double</span> getNumericValue(<span class="keyword">const</span> Part &amp;part) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00665"></a><span class="lineno">  665</span>&#160;</div>
<div class="line"><a name="l00672"></a><span class="lineno">  672</span>&#160;    <span class="keywordtype">double</span> getPluralOffset(int32_t pluralStart) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00673"></a><span class="lineno">  673</span>&#160;</div>
<div class="line"><a name="l00682"></a><span class="lineno"><a class="code" href="classMessagePattern.html#a107362faf70ad2f014bbc12fc25f6273">  682</a></span>&#160;    int32_t <a class="code" href="classMessagePattern.html#a107362faf70ad2f014bbc12fc25f6273" title="Returns the index of the ARG|MSG_LIMIT part corresponding to the ARG|MSG_START at start...">getLimitPartIndex</a>(int32_t start)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00683"></a><span class="lineno">  683</span>&#160;        int32_t limit=getPart(start).limitPartIndex;</div>
<div class="line"><a name="l00684"></a><span class="lineno">  684</span>&#160;        <span class="keywordflow">if</span>(limit&lt;start) {</div>
<div class="line"><a name="l00685"></a><span class="lineno">  685</span>&#160;            <span class="keywordflow">return</span> start;</div>
<div class="line"><a name="l00686"></a><span class="lineno">  686</span>&#160;        }</div>
<div class="line"><a name="l00687"></a><span class="lineno">  687</span>&#160;        <span class="keywordflow">return</span> limit;</div>
<div class="line"><a name="l00688"></a><span class="lineno">  688</span>&#160;    }</div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;</div>
<div class="line"><a name="l00697"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html">  697</a></span>&#160;    <span class="keyword">class </span><a class="code" href="classMessagePattern_1_1Part.html" title="A message pattern &quot;part&quot;, representing a pattern parsing event.">Part</a> : <span class="keyword">public</span> <a class="code" href="classUMemory.html" title="UMemory is the common ICU base class.">UMemory</a> {</div>
<div class="line"><a name="l00698"></a><span class="lineno">  698</span>&#160;    <span class="keyword">public</span>:</div>
<div class="line"><a name="l00703"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#a448cbdf8729483bbaa2bf5e872c98e9d">  703</a></span>&#160;        <a class="code" href="classMessagePattern_1_1Part.html#a448cbdf8729483bbaa2bf5e872c98e9d" title="Default constructor, do not use.">Part</a>() {}</div>
<div class="line"><a name="l00704"></a><span class="lineno">  704</span>&#160;</div>
<div class="line"><a name="l00710"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#a04eb93e8b33dae2d9af5670d7f51b02c">  710</a></span>&#160;        <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> <a class="code" href="classMessagePattern_1_1Part.html#a04eb93e8b33dae2d9af5670d7f51b02c" title="Returns the type of this part.">getType</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00711"></a><span class="lineno">  711</span>&#160;            <span class="keywordflow">return</span> type;</div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        }</div>
<div class="line"><a name="l00713"></a><span class="lineno">  713</span>&#160;</div>
<div class="line"><a name="l00719"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#a4bb7151f028911652015bfa1e87600e2">  719</a></span>&#160;        int32_t <a class="code" href="classMessagePattern_1_1Part.html#a4bb7151f028911652015bfa1e87600e2" title="Returns the pattern string index associated with this Part.">getIndex</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00720"></a><span class="lineno">  720</span>&#160;            <span class="keywordflow">return</span> index;</div>
<div class="line"><a name="l00721"></a><span class="lineno">  721</span>&#160;        }</div>
<div class="line"><a name="l00722"></a><span class="lineno">  722</span>&#160;</div>
<div class="line"><a name="l00729"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#ad513b9c366fa2b379363a55471b99807">  729</a></span>&#160;        int32_t <a class="code" href="classMessagePattern_1_1Part.html#ad513b9c366fa2b379363a55471b99807" title="Returns the length of the pattern substring associated with this Part.">getLength</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;            <span class="keywordflow">return</span> length;</div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160;        }</div>
<div class="line"><a name="l00732"></a><span class="lineno">  732</span>&#160;</div>
<div class="line"><a name="l00739"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#a981b5e4867e8fce8dbbd5f97cf41de4f">  739</a></span>&#160;        int32_t <a class="code" href="classMessagePattern_1_1Part.html#a981b5e4867e8fce8dbbd5f97cf41de4f" title="Returns the pattern string limit (exclusive-end) index associated with this Part.">getLimit</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00740"></a><span class="lineno">  740</span>&#160;            <span class="keywordflow">return</span> index+length;</div>
<div class="line"><a name="l00741"></a><span class="lineno">  741</span>&#160;        }</div>
<div class="line"><a name="l00742"></a><span class="lineno">  742</span>&#160;</div>
<div class="line"><a name="l00749"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#ad405faad1cca533c5580855244fcca8f">  749</a></span>&#160;        int32_t <a class="code" href="classMessagePattern_1_1Part.html#ad405faad1cca533c5580855244fcca8f" title="Returns a value associated with this part.">getValue</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00750"></a><span class="lineno">  750</span>&#160;            <span class="keywordflow">return</span> value;</div>
<div class="line"><a name="l00751"></a><span class="lineno">  751</span>&#160;        }</div>
<div class="line"><a name="l00752"></a><span class="lineno">  752</span>&#160;</div>
<div class="line"><a name="l00759"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#ac898a506a5e364e212b217d424c70bca">  759</a></span>&#160;        <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a> <a class="code" href="classMessagePattern_1_1Part.html#ac898a506a5e364e212b217d424c70bca" title="Returns the argument type if this part is of type ARG_START or ARG_LIMIT, otherwise UMSGPAT_ARG_TYPE_...">getArgType</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00760"></a><span class="lineno">  760</span>&#160;            <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> type=getType();</div>
<div class="line"><a name="l00761"></a><span class="lineno">  761</span>&#160;            <span class="keywordflow">if</span>(type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c" title="Start of an argument.">UMSGPAT_PART_TYPE_ARG_START</a> || type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d" title="End of an argument.">UMSGPAT_PART_TYPE_ARG_LIMIT</a>) {</div>
<div class="line"><a name="l00762"></a><span class="lineno">  762</span>&#160;                <span class="keywordflow">return</span> (<a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a>)value;</div>
<div class="line"><a name="l00763"></a><span class="lineno">  763</span>&#160;            } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00764"></a><span class="lineno">  764</span>&#160;                <span class="keywordflow">return</span> <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd" title="The argument has no specified type.">UMSGPAT_ARG_TYPE_NONE</a>;</div>
<div class="line"><a name="l00765"></a><span class="lineno">  765</span>&#160;            }</div>
<div class="line"><a name="l00766"></a><span class="lineno">  766</span>&#160;        }</div>
<div class="line"><a name="l00767"></a><span class="lineno">  767</span>&#160;</div>
<div class="line"><a name="l00775"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#ae9dffe2c869a346dd5f27e2aefc45a80">  775</a></span>&#160;        <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classMessagePattern_1_1Part.html#ae9dffe2c869a346dd5f27e2aefc45a80" title="Indicates whether the Part type has a numeric value.">hasNumericValue</a>(<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> type) {</div>
<div class="line"><a name="l00776"></a><span class="lineno">  776</span>&#160;            <span class="keywordflow">return</span> type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da" title="An integer value, for example the offset or an explicit selector value in a PluralFormat style...">UMSGPAT_PART_TYPE_ARG_INT</a> || type==<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574" title="A numeric value, for example the offset or an explicit selector value in a PluralFormat style...">UMSGPAT_PART_TYPE_ARG_DOUBLE</a>;</div>
<div class="line"><a name="l00777"></a><span class="lineno">  777</span>&#160;        }</div>
<div class="line"><a name="l00778"></a><span class="lineno">  778</span>&#160;</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;        <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern_1_1Part.html" title="A message pattern &quot;part&quot;, representing a pattern parsing event.">Part</a> &amp;other) <span class="keyword">const</span>;</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160;</div>
<div class="line"><a name="l00791"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#a315d6ba0b2e500e7db936d2e7d2e849e">  791</a></span>&#160;        <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classMessagePattern_1_1Part.html#a315d6ba0b2e500e7db936d2e7d2e849e">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classMessagePattern_1_1Part.html" title="A message pattern &quot;part&quot;, representing a pattern parsing event.">Part</a> &amp;other)<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00792"></a><span class="lineno">  792</span>&#160;            <span class="keywordflow">return</span> !<a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</a>(other);</div>
<div class="line"><a name="l00793"></a><span class="lineno">  793</span>&#160;        }</div>
<div class="line"><a name="l00794"></a><span class="lineno">  794</span>&#160;</div>
<div class="line"><a name="l00799"></a><span class="lineno"><a class="code" href="classMessagePattern_1_1Part.html#a052ad8a4c35fe47dfe7fdaa1470dd584">  799</a></span>&#160;        int32_t <a class="code" href="classMessagePattern_1_1Part.html#a052ad8a4c35fe47dfe7fdaa1470dd584">hashCode</a>()<span class="keyword"> const </span>{</div>
<div class="line"><a name="l00800"></a><span class="lineno">  800</span>&#160;            <span class="keywordflow">return</span> ((type*37+index)*37+length)*37+value;</div>
<div class="line"><a name="l00801"></a><span class="lineno">  801</span>&#160;        }</div>
<div class="line"><a name="l00802"></a><span class="lineno">  802</span>&#160;</div>
<div class="line"><a name="l00803"></a><span class="lineno">  803</span>&#160;    <span class="keyword">private</span>:</div>
<div class="line"><a name="l00804"></a><span class="lineno">  804</span>&#160;        <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a>;</div>
<div class="line"><a name="l00805"></a><span class="lineno">  805</span>&#160;</div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> int32_t MAX_LENGTH=0xffff;</div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;        <span class="keyword">static</span> <span class="keyword">const</span> int32_t MAX_VALUE=0x7fff;</div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160;        <span class="comment">// Some fields are not final because they are modified during pattern parsing.</span></div>
<div class="line"><a name="l00810"></a><span class="lineno">  810</span>&#160;        <span class="comment">// After pattern parsing, the parts are effectively immutable.</span></div>
<div class="line"><a name="l00811"></a><span class="lineno">  811</span>&#160;        <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> type;</div>
<div class="line"><a name="l00812"></a><span class="lineno">  812</span>&#160;        int32_t index;</div>
<div class="line"><a name="l00813"></a><span class="lineno">  813</span>&#160;        uint16_t length;</div>
<div class="line"><a name="l00814"></a><span class="lineno">  814</span>&#160;        int16_t value;</div>
<div class="line"><a name="l00815"></a><span class="lineno">  815</span>&#160;        int32_t limitPartIndex;</div>
<div class="line"><a name="l00816"></a><span class="lineno">  816</span>&#160;    };</div>
<div class="line"><a name="l00817"></a><span class="lineno">  817</span>&#160;</div>
<div class="line"><a name="l00818"></a><span class="lineno">  818</span>&#160;<span class="keyword">private</span>:</div>
<div class="line"><a name="l00819"></a><span class="lineno">  819</span>&#160;    <span class="keywordtype">void</span> preParse(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;pattern, <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;</div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;    <span class="keywordtype">void</span> postParse();</div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;</div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;    int32_t parseMessage(int32_t index, int32_t msgStartLength,</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160;                         int32_t nestingLevel, <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a> parentType,</div>
<div class="line"><a name="l00825"></a><span class="lineno">  825</span>&#160;                         <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00826"></a><span class="lineno">  826</span>&#160;</div>
<div class="line"><a name="l00827"></a><span class="lineno">  827</span>&#160;    int32_t parseArg(int32_t index, int32_t argStartLength, int32_t nestingLevel,</div>
<div class="line"><a name="l00828"></a><span class="lineno">  828</span>&#160;                     <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00829"></a><span class="lineno">  829</span>&#160;</div>
<div class="line"><a name="l00830"></a><span class="lineno">  830</span>&#160;    int32_t parseSimpleStyle(int32_t index, <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00831"></a><span class="lineno">  831</span>&#160;</div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;    int32_t <a class="code" href="classMessagePattern.html#a977a30b8a0cee54a06bc54d2b75bc91c" title="Parses a ChoiceFormat pattern string.">parseChoiceStyle</a>(int32_t index, int32_t nestingLevel,</div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;                             <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160;    int32_t parsePluralOrSelectStyle(<a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a> argType, int32_t index, int32_t nestingLevel,</div>
<div class="line"><a name="l00836"></a><span class="lineno">  836</span>&#160;                                     <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00837"></a><span class="lineno">  837</span>&#160;</div>
<div class="line"><a name="l00846"></a><span class="lineno">  846</span>&#160;    <span class="keyword">static</span> int32_t parseArgNumber(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &amp;s, int32_t start, int32_t limit);</div>
<div class="line"><a name="l00847"></a><span class="lineno">  847</span>&#160;</div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;    int32_t parseArgNumber(int32_t start, int32_t limit) {</div>
<div class="line"><a name="l00849"></a><span class="lineno">  849</span>&#160;        <span class="keywordflow">return</span> parseArgNumber(msg, start, limit);</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160;    }</div>
<div class="line"><a name="l00851"></a><span class="lineno">  851</span>&#160;</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;    <span class="keywordtype">void</span> parseDouble(int32_t start, int32_t limit, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> allowInfinity,</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;                     <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;    <span class="comment">// Java has package-private appendReducedApostrophes() here.</span></div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160;    <span class="comment">// In C++, this is declared in the MessageImpl class.</span></div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;</div>
<div class="line"><a name="l00866"></a><span class="lineno">  866</span>&#160;    int32_t skipWhiteSpace(int32_t index);</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;</div>
<div class="line"><a name="l00868"></a><span class="lineno">  868</span>&#160;    int32_t skipIdentifier(int32_t index);</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160;</div>
<div class="line"><a name="l00874"></a><span class="lineno">  874</span>&#160;    int32_t skipDouble(int32_t index);</div>
<div class="line"><a name="l00875"></a><span class="lineno">  875</span>&#160;</div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;    <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isArgTypeChar(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c);</div>
<div class="line"><a name="l00877"></a><span class="lineno">  877</span>&#160;</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isChoice(int32_t index);</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160;</div>
<div class="line"><a name="l00880"></a><span class="lineno">  880</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isPlural(int32_t index);</div>
<div class="line"><a name="l00881"></a><span class="lineno">  881</span>&#160;</div>
<div class="line"><a name="l00882"></a><span class="lineno">  882</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isSelect(int32_t index);</div>
<div class="line"><a name="l00883"></a><span class="lineno">  883</span>&#160;</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> inMessageFormatPattern(int32_t nestingLevel);</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160;</div>
<div class="line"><a name="l00894"></a><span class="lineno">  894</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> inTopLevelChoiceMessage(int32_t nestingLevel, <a class="code" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103" title="Argument type constants.">UMessagePatternArgType</a> parentType);</div>
<div class="line"><a name="l00895"></a><span class="lineno">  895</span>&#160;</div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;    <span class="keywordtype">void</span> addPart(<a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> type, int32_t index, int32_t length,</div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;                 int32_t value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160;    <span class="keywordtype">void</span> addLimitPart(int32_t start,</div>
<div class="line"><a name="l00900"></a><span class="lineno">  900</span>&#160;                      <a class="code" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42" title="MessagePattern::Part type constants.">UMessagePatternPartType</a> type, int32_t index, int32_t length,</div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;                      int32_t value, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00902"></a><span class="lineno">  902</span>&#160;</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160;    <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" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00904"></a><span class="lineno">  904</span>&#160;</div>
<div class="line"><a name="l00905"></a><span class="lineno">  905</span>&#160;    <span class="keywordtype">void</span> setParseError(<a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors.">UParseError</a> *parseError, int32_t index);</div>
<div class="line"><a name="l00906"></a><span class="lineno">  906</span>&#160;</div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;    <span class="comment">// No ICU &quot;poor man&#39;s RTTI&quot; for this class nor its subclasses.</span></div>
<div class="line"><a name="l00908"></a><span class="lineno">  908</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...">UClassID</a> <a class="code" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262" title="ICU4C &quot;poor man&#39;s RTTI&quot;, returns a UClassID for the actual ICU class.">getDynamicClassID</a>() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;</div>
<div class="line"><a name="l00910"></a><span class="lineno">  910</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> init(<a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00911"></a><span class="lineno">  911</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> copyStorage(<span class="keyword">const</span> <a class="code" href="classMessagePattern.html" title="Parses and represents ICU MessageFormat patterns.">MessagePattern</a> &amp;other, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all C++ compilers...">UErrorCode</a> &amp;errorCode);</div>
<div class="line"><a name="l00912"></a><span class="lineno">  912</span>&#160;</div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;    <a class="code" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b" title="Mode for when an apostrophe starts quoted literal text for MessageFormat output.">UMessagePatternApostropheMode</a> aposMode;</div>
<div class="line"><a name="l00914"></a><span class="lineno">  914</span>&#160;    <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> msg;</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;    <span class="comment">// ArrayList&lt;Part&gt; parts=new ArrayList&lt;Part&gt;();</span></div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;    MessagePatternPartsList *partsList;</div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;    Part *parts;</div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;    int32_t partsLength;</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;    <span class="comment">// ArrayList&lt;Double&gt; numericValues;</span></div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;    MessagePatternDoubleList *numericValuesList;</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;    <span class="keywordtype">double</span> *numericValues;</div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;    int32_t numericValuesLength;</div>
<div class="line"><a name="l00923"></a><span class="lineno">  923</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> hasArgNames;</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> hasArgNumbers;</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;    <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> needsAutoQuoting;</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160;};</div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;<a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933" title="This is used to end a declaration of a public ICU C++ API.">U_NAMESPACE_END</a></div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;<span class="preprocessor">#endif  // !UCONFIG_NO_FORMATTING</span></div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;<span class="preprocessor">#endif  // __MESSAGEPATTERN_H__</span></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.1.1
</small></address>
</body>
</html>