File: //opt/alt/alt-nodejs24/root/usr/share/doc/alt-nodejs24-libicu-doc/messagepattern_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: common/unicode/messagepattern.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">ICU 77.1
 <span id="projectnumber">77.1</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_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="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#namespaces">Namespaces</a> |
<a href="#define-members">Macros</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">messagepattern.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>C++ API: MessagePattern class: Parses and represents ICU MessageFormat patterns.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>"</code><br />
<code>#include "<a class="el" href="parseerr_8h_source.html">unicode/parseerr.h</a>"</code><br />
<code>#include "<a class="el" href="unistr_8h_source.html">unicode/unistr.h</a>"</code><br />
</div>
<p><a href="messagepattern_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1MessagePattern.html">icu::MessagePattern</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Parses and represents ICU <a class="el" href="classicu_1_1MessageFormat.html">MessageFormat</a> patterns. <a href="classicu_1_1MessagePattern.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1MessagePattern_1_1Part.html">icu::MessagePattern::Part</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">A message pattern "part", representing a pattern parsing event. <a href="classicu_1_1MessagePattern_1_1Part.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceicu"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceicu.html">icu</a></td></tr>
<tr class="memdesc:namespaceicu"><td class="mdescLeft"> </td><td class="mdescRight">File <a class="el" href="coll_8h.html" title="C++ API: Collation Service.">coll.h</a>. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a1c4e21bee1892fbd050e55e85ac1a5c4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#a1c4e21bee1892fbd050e55e85ac1a5c4">UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE</a>(argType)    ((argType)==<a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0">UMSGPAT_ARG_TYPE_PLURAL</a> || (argType)==<a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f">UMSGPAT_ARG_TYPE_SELECTORDINAL</a>)</td></tr>
<tr class="memdesc:a1c4e21bee1892fbd050e55e85ac1a5c4"><td class="mdescLeft"> </td><td class="mdescRight">Returns true if the argument type has a plural style part sequence and semantics, for example UMSGPAT_ARG_TYPE_PLURAL and UMSGPAT_ARG_TYPE_SELECTORDINAL. <a href="messagepattern_8h.html#a1c4e21bee1892fbd050e55e85ac1a5c4">More...</a><br /></td></tr>
<tr class="separator:a1c4e21bee1892fbd050e55e85ac1a5c4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:af8a7d74f8813a30c41f063dde64e3c12"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#af8a7d74f8813a30c41f063dde64e3c12">UMSGPAT_NO_NUMERIC_VALUE</a>   ((double)(-123456789))</td></tr>
<tr class="memdesc:af8a7d74f8813a30c41f063dde64e3c12"><td class="mdescLeft"> </td><td class="mdescRight">Special value that is returned by getNumericValue(Part) when no numeric value is defined for a part. <a href="messagepattern_8h.html#af8a7d74f8813a30c41f063dde64e3c12">More...</a><br /></td></tr>
<tr class="separator:af8a7d74f8813a30c41f063dde64e3c12"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a56aa1f898bc4cb898a0cb2facb19b258"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#a56aa1f898bc4cb898a0cb2facb19b258">UMessagePatternApostropheMode</a></td></tr>
<tr class="separator:a56aa1f898bc4cb898a0cb2facb19b258"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a26bb77f47a6057af80c25d97bf2a2595"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#a26bb77f47a6057af80c25d97bf2a2595">UMessagePatternPartType</a></td></tr>
<tr class="separator:a26bb77f47a6057af80c25d97bf2a2595"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a3f22f44bff63324c2a6591e7a7dde523"><td class="memItemLeft" align="right" valign="top">typedef enum <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#a3f22f44bff63324c2a6591e7a7dde523">UMessagePatternArgType</a></td></tr>
<tr class="separator:a3f22f44bff63324c2a6591e7a7dde523"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:af6e0757e0eb81c980b01ee5d68a9978b"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> { <a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7">UMSGPAT_APOS_DOUBLE_OPTIONAL</a>
, <a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78">UMSGPAT_APOS_DOUBLE_REQUIRED</a>
}</td></tr>
<tr class="memdesc:af6e0757e0eb81c980b01ee5d68a9978b"><td class="mdescLeft"> </td><td class="mdescRight">Mode for when an apostrophe starts quoted literal text for MessageFormat output. <a href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">More...</a><br /></td></tr>
<tr class="separator:af6e0757e0eb81c980b01ee5d68a9978b"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a020e83c308fc5d1b2b4a7029cc3d9b42"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> { <br />
  <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff">UMSGPAT_PART_TYPE_MSG_START</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add">UMSGPAT_PART_TYPE_MSG_LIMIT</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d">UMSGPAT_PART_TYPE_SKIP_SYNTAX</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c">UMSGPAT_PART_TYPE_INSERT_CHAR</a>
, <br />
  <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f">UMSGPAT_PART_TYPE_REPLACE_NUMBER</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c">UMSGPAT_PART_TYPE_ARG_START</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d">UMSGPAT_PART_TYPE_ARG_LIMIT</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de">UMSGPAT_PART_TYPE_ARG_NUMBER</a>
, <br />
  <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf">UMSGPAT_PART_TYPE_ARG_NAME</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b">UMSGPAT_PART_TYPE_ARG_TYPE</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe">UMSGPAT_PART_TYPE_ARG_STYLE</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413">UMSGPAT_PART_TYPE_ARG_SELECTOR</a>
, <br />
  <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da">UMSGPAT_PART_TYPE_ARG_INT</a>
, <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574">UMSGPAT_PART_TYPE_ARG_DOUBLE</a>
<br />
}</td></tr>
<tr class="memdesc:a020e83c308fc5d1b2b4a7029cc3d9b42"><td class="mdescLeft"> </td><td class="mdescRight">MessagePattern::Part type constants. <a href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">More...</a><br /></td></tr>
<tr class="separator:a020e83c308fc5d1b2b4a7029cc3d9b42"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a2929f87500a04fd66021e3fda6c1f103"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> { <br />
  <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd">UMSGPAT_ARG_TYPE_NONE</a>
, <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e">UMSGPAT_ARG_TYPE_SIMPLE</a>
, <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095">UMSGPAT_ARG_TYPE_CHOICE</a>
, <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0">UMSGPAT_ARG_TYPE_PLURAL</a>
, <br />
  <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a">UMSGPAT_ARG_TYPE_SELECT</a>
, <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f">UMSGPAT_ARG_TYPE_SELECTORDINAL</a>
<br />
}</td></tr>
<tr class="memdesc:a2929f87500a04fd66021e3fda6c1f103"><td class="mdescLeft"> </td><td class="mdescRight">Argument type constants. <a href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">More...</a><br /></td></tr>
<tr class="separator:a2929f87500a04fd66021e3fda6c1f103"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a99fb83031ce9923c84392b4e92f956b5"><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom">{ <a class="el" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda">UMSGPAT_ARG_NAME_NOT_NUMBER</a> =-1
, <a class="el" href="messagepattern_8h.html#a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50">UMSGPAT_ARG_NAME_NOT_VALID</a> =-2
}</td></tr>
<tr class="separator:a99fb83031ce9923c84392b4e92f956b5"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C++ API: MessagePattern class: Parses and represents ICU MessageFormat patterns. </p>
<p class="definition">Definition in file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a1c4e21bee1892fbd050e55e85ac1a5c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1c4e21bee1892fbd050e55e85ac1a5c4">◆ </a></span>UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UMSGPAT_ARG_TYPE_HAS_PLURAL_STYLE</td>
<td>(</td>
<td class="paramtype"> </td>
<td class="paramname">argType</td><td>)</td>
<td>    ((argType)==<a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0">UMSGPAT_ARG_TYPE_PLURAL</a> || (argType)==<a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f">UMSGPAT_ARG_TYPE_SELECTORDINAL</a>)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns true if the argument type has a plural style part sequence and semantics, for example UMSGPAT_ARG_TYPE_PLURAL and UMSGPAT_ARG_TYPE_SELECTORDINAL. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000507">Stable:</a></b></dt><dd>ICU 50 </dd></dl>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00272">272</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<a id="af8a7d74f8813a30c41f063dde64e3c12"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8a7d74f8813a30c41f063dde64e3c12">◆ </a></span>UMSGPAT_NO_NUMERIC_VALUE</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define UMSGPAT_NO_NUMERIC_VALUE   ((double)(-123456789))</td>
</tr>
</table>
</div><div class="memdoc">
<p>Special value that is returned by getNumericValue(Part) when no numeric value is defined for a part. </p>
<dl class="section see"><dt>See also</dt><dd>MessagePattern.getNumericValue() </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000508">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00299">299</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a56aa1f898bc4cb898a0cb2facb19b258"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56aa1f898bc4cb898a0cb2facb19b258">◆ </a></span>UMessagePatternApostropheMode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a> <a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000502">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00001">1</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<a id="a3f22f44bff63324c2a6591e7a7dde523"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3f22f44bff63324c2a6591e7a7dde523">◆ </a></span>UMessagePatternArgType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a> <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000506">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00001">1</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<a id="a26bb77f47a6057af80c25d97bf2a2595"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26bb77f47a6057af80c25d97bf2a2595">◆ </a></span>UMessagePatternPartType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef enum <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a> <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a></td>
</tr>
</table>
</div><div class="memdoc">
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000504">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00001">1</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a99fb83031ce9923c84392b4e92f956b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a99fb83031ce9923c84392b4e92f956b5">◆ </a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a99fb83031ce9923c84392b4e92f956b5a7b6fc83818b6e89ef39f116bfd0d9dda"></a>UMSGPAT_ARG_NAME_NOT_NUMBER </td><td class="fielddoc"><p>Return value from MessagePattern.validateArgumentName() for when the string is a valid "pattern identifier" but not a number. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000531">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a99fb83031ce9923c84392b4e92f956b5a7086b0b8fe7c4867c8df719f45928a50"></a>UMSGPAT_ARG_NAME_NOT_VALID </td><td class="fielddoc"><p>Return value from MessagePattern.validateArgumentName() for when the string is invalid. </p>
<p>It might not be a valid "pattern identifier", or it have only ASCII digits but there is a leading zero or the number is too large. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000532">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00275">275</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<a id="af6e0757e0eb81c980b01ee5d68a9978b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af6e0757e0eb81c980b01ee5d68a9978b">◆ </a></span>UMessagePatternApostropheMode</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="messagepattern_8h.html#af6e0757e0eb81c980b01ee5d68a9978b">UMessagePatternApostropheMode</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Mode for when an apostrophe starts quoted literal text for MessageFormat output. </p>
<p>The default is DOUBLE_OPTIONAL unless overridden via <a class="el" href="uconfig_8h.html" title="User-configurable settings.">uconfig.h</a> (UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE). </p>
<p>A pair of adjacent apostrophes always results in a single apostrophe in the output, even when the pair is between two single, text-quoting apostrophes. </p>
<p>The following table shows examples of desired MessageFormat.format() output with the pattern strings that yield that output. </p>
<table class="doxtable">
<tr>
<th>Desired output </th><th>DOUBLE_OPTIONAL </th><th>DOUBLE_REQUIRED </th></tr>
<tr>
<td>I see {many} </td><td>I see '{many}' </td><td>(same) </td></tr>
<tr>
<td>I said {'Wow!'} </td><td>I said '{''Wow!''}' </td><td>(same) </td></tr>
<tr>
<td>I don't know </td><td>I don't know OR<br />
I don''t know </td><td>I don''t know </td></tr>
</table>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000501">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="uconfig_8h.html#aec0a2473ec4ff7108b8bb6d0eee8188f" title="Determines the default UMessagePatternApostropheMode.">UCONFIG_MSGPAT_DEFAULT_APOSTROPHE_MODE</a> </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="af6e0757e0eb81c980b01ee5d68a9978ba67b6ac40cab95b17ecd559d24f1066c7"></a>UMSGPAT_APOS_DOUBLE_OPTIONAL </td><td class="fielddoc"><p>A literal apostrophe is represented by either a single or a double apostrophe pattern character. </p>
<p>Within a MessageFormat pattern, a single apostrophe only starts quoted literal text if it immediately precedes a curly brace {}, or a pipe symbol | if inside a choice format, or a pound symbol # if inside a plural format. </p>
<p>This is the default behavior starting with ICU 4.8. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000509">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="af6e0757e0eb81c980b01ee5d68a9978ba947d8779e9c59baf35a5eb82d8327d78"></a>UMSGPAT_APOS_DOUBLE_REQUIRED </td><td class="fielddoc"><p>A literal apostrophe must be represented by a double apostrophe pattern character. </p>
<p>A single apostrophe always starts quoted literal text. </p>
<p>This is the behavior of ICU 4.6 and earlier, and of the JDK. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000510">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00070">70</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<a id="a2929f87500a04fd66021e3fda6c1f103"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2929f87500a04fd66021e3fda6c1f103">◆ </a></span>UMessagePatternArgType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="messagepattern_8h.html#a2929f87500a04fd66021e3fda6c1f103">UMessagePatternArgType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Argument type constants. </p>
<p>Returned by Part.getArgType() for ARG_START and ARG_LIMIT parts.</p>
<p>Messages nested inside an argument are each delimited by MSG_START and MSG_LIMIT, with a nesting level one greater than the surrounding message. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000505">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a2929f87500a04fd66021e3fda6c1f103a419f02d51dc27433115e3b6715fbe3cd"></a>UMSGPAT_ARG_TYPE_NONE </td><td class="fielddoc"><p>The argument has no specified type. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000525">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a2929f87500a04fd66021e3fda6c1f103a83d34af9ec6acd74a3e44b32b46c760e"></a>UMSGPAT_ARG_TYPE_SIMPLE </td><td class="fielddoc"><p>The argument has a "simple" type which is provided by the ARG_TYPE part. </p>
<p>An ARG_STYLE part might follow that. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000526">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a2929f87500a04fd66021e3fda6c1f103ae9806dab1d5f2143ad7df93025173095"></a>UMSGPAT_ARG_TYPE_CHOICE </td><td class="fielddoc"><p>The argument is a ChoiceFormat with one or more ((ARG_INT | ARG_DOUBLE), ARG_SELECTOR, message) tuples. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000527">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a2929f87500a04fd66021e3fda6c1f103a7066f3f8f4176fb06e6fab5c95869ec0"></a>UMSGPAT_ARG_TYPE_PLURAL </td><td class="fielddoc"><p>The argument is a cardinal-number PluralFormat with an optional ARG_INT or ARG_DOUBLE offset (e.g., offset:1) and one or more (ARG_SELECTOR [explicit-value] message) tuples. </p>
<p>If the selector has an explicit value (e.g., =2), then that value is provided by the ARG_INT or ARG_DOUBLE part preceding the message. Otherwise the message immediately follows the ARG_SELECTOR. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000528">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a2929f87500a04fd66021e3fda6c1f103a37134f17547a6466760b723e45a2f20a"></a>UMSGPAT_ARG_TYPE_SELECT </td><td class="fielddoc"><p>The argument is a SelectFormat with one or more (ARG_SELECTOR, message) pairs. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000529">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a2929f87500a04fd66021e3fda6c1f103aaa1f61c11a6c343edc5d6b4a8d75661f"></a>UMSGPAT_ARG_TYPE_SELECTORDINAL </td><td class="fielddoc"><p>The argument is an ordinal-number PluralFormat with the same style parts sequence and semantics as UMSGPAT_ARG_TYPE_PLURAL. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000530">Stable:</a></b></dt><dd>ICU 50 </dd></dl>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00221">221</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
<a id="a020e83c308fc5d1b2b4a7029cc3d9b42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a020e83c308fc5d1b2b4a7029cc3d9b42">◆ </a></span>UMessagePatternPartType</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="messagepattern_8h.html#a020e83c308fc5d1b2b4a7029cc3d9b42">UMessagePatternPartType</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>MessagePattern::Part type constants. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000503">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a4bd3165108d25c0aabaaa3715105efff"></a>UMSGPAT_PART_TYPE_MSG_START </td><td class="fielddoc"><p>Start of a message pattern (main or nested). </p>
<p>The length is 0 for the top-level message and for a choice argument sub-message, otherwise 1 for the '{'. The value indicates the nesting level, starting with 0 for the main message. </p>
<p>There is always a later MSG_LIMIT part. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000511">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a981fcd6e08cc32f6844f1ebebe735add"></a>UMSGPAT_PART_TYPE_MSG_LIMIT </td><td class="fielddoc"><p>End of a message pattern (main or nested). </p>
<p>The length is 0 for the top-level message and the last sub-message of a choice argument, otherwise 1 for the '}' or (in a choice argument style) the '|'. The value indicates the nesting level, starting with 0 for the main message. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000512">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42ae8bd3978e3b14fa1b6918946420a262d"></a>UMSGPAT_PART_TYPE_SKIP_SYNTAX </td><td class="fielddoc"><p>Indicates a substring of the pattern string which is to be skipped when formatting. </p>
<p>For example, an apostrophe that begins or ends quoted text would be indicated with such a part. The value is undefined and currently always 0. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000513">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a0c93d5325ec8fbf16b4084e262d27c9c"></a>UMSGPAT_PART_TYPE_INSERT_CHAR </td><td class="fielddoc"><p>Indicates that a syntax character needs to be inserted for auto-quoting. </p>
<p>The length is 0. The value is the character code of the insertion character. (U+0027=APOSTROPHE) </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000514">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42ac4387c3e4c2f1ccf8ba85c4c7ebf607f"></a>UMSGPAT_PART_TYPE_REPLACE_NUMBER </td><td class="fielddoc"><p>Indicates a syntactic (non-escaped) # symbol in a plural variant. </p>
<p>When formatting, replace this part's substring with the (value-offset) for the plural argument value. The value is undefined and currently always 0. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000515">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42aa628d48a636ed1f2e919fbbf40ef973c"></a>UMSGPAT_PART_TYPE_ARG_START </td><td class="fielddoc"><p>Start of an argument. </p>
<p>The length is 1 for the '{'. The value is the ordinal value of the ArgType. Use getArgType(). </p>
<p>This part is followed by either an ARG_NUMBER or ARG_NAME, followed by optional argument sub-parts (see UMessagePatternArgType constants) and finally an ARG_LIMIT part. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000516">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a6a3ee80a2a43880edda7c8e0ef40a37d"></a>UMSGPAT_PART_TYPE_ARG_LIMIT </td><td class="fielddoc"><p>End of an argument. </p>
<p>The length is 1 for the '}'. The value is the ordinal value of the ArgType. Use getArgType(). </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000517">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a8af70d71e2c979c8d4e961681a4810de"></a>UMSGPAT_PART_TYPE_ARG_NUMBER </td><td class="fielddoc"><p>The argument number, provided by the value. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000518">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42aa43b050de6dc11607370eced59f633cf"></a>UMSGPAT_PART_TYPE_ARG_NAME </td><td class="fielddoc"><p>The argument name. </p>
<p>The value is undefined and currently always 0. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000519">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a242bbe84918cbae58ebb7d092d547d6b"></a>UMSGPAT_PART_TYPE_ARG_TYPE </td><td class="fielddoc"><p>The argument type. </p>
<p>The value is undefined and currently always 0. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000520">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42ad33534e042bb62a80863ce5d4e3bfbbe"></a>UMSGPAT_PART_TYPE_ARG_STYLE </td><td class="fielddoc"><p>The argument style text. </p>
<p>The value is undefined and currently always 0. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000521">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a4c5bcf896e840fe14ab96ec6883fe413"></a>UMSGPAT_PART_TYPE_ARG_SELECTOR </td><td class="fielddoc"><p>A selector substring in a "complex" argument style. </p>
<p>The value is undefined and currently always 0. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000522">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42ad850e66569eff3e9ffef20759d93b1da"></a>UMSGPAT_PART_TYPE_ARG_INT </td><td class="fielddoc"><p>An integer value, for example the offset or an explicit selector value in a PluralFormat style. </p>
<p>The part value is the integer value. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000523">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
<tr><td class="fieldname"><a id="a020e83c308fc5d1b2b4a7029cc3d9b42a98883b70d5ed087231e24e92fbe8c574"></a>UMSGPAT_PART_TYPE_ARG_DOUBLE </td><td class="fielddoc"><p>A numeric value, for example the offset or an explicit selector value in a PluralFormat style. </p>
<p>The part value is an index into an internal array of numeric values; use getNumericValue(). </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000524">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>
</td></tr>
</table>
<p class="definition">Definition at line <a class="el" href="messagepattern_8h_source.html#l00102">102</a> of file <a class="el" href="messagepattern_8h_source.html">messagepattern.h</a>.</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>