Sophie

Sophie

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

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: PluralRules Class 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/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 class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><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="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</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><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">PluralRules Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Defines rules for mapping non-negative numeric values onto a small set of keywords.  
 <a href="classPluralRules.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="plurrule_8h_source.html">plurrule.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for PluralRules:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classPluralRules.png" usemap="#PluralRules_map" alt=""/>
  <map id="PluralRules_map" name="PluralRules_map">
<area href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class." alt="UObject" shape="rect" coords="0,56,76,80"/>
<area href="classUMemory.html" title="UMemory is the common ICU base class." alt="UMemory" shape="rect" coords="0,0,76,24"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6b32ab53f65942e15823e132f321a4b8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a6b32ab53f65942e15823e132f321a4b8">PluralRules</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a6b32ab53f65942e15823e132f321a4b8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor.  <a href="#a6b32ab53f65942e15823e132f321a4b8"></a><br/></td></tr>
<tr class="memitem:ae490f4501e45cfd73d4d7fd4ccee1d08"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#ae490f4501e45cfd73d4d7fd4ccee1d08">PluralRules</a> (const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;other)</td></tr>
<tr class="memdesc:ae490f4501e45cfd73d4d7fd4ccee1d08"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#ae490f4501e45cfd73d4d7fd4ccee1d08"></a><br/></td></tr>
<tr class="memitem:a95d1445d1f33367a0c5083bcb817940e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a95d1445d1f33367a0c5083bcb817940e">~PluralRules</a> ()</td></tr>
<tr class="memdesc:a95d1445d1f33367a0c5083bcb817940e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a95d1445d1f33367a0c5083bcb817940e"></a><br/></td></tr>
<tr class="memitem:a55946d0936860e17e5e5dd7bcdf2d169"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPluralRules.html">PluralRules</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a55946d0936860e17e5e5dd7bcdf2d169">clone</a> () const </td></tr>
<tr class="memdesc:a55946d0936860e17e5e5dd7bcdf2d169"><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone.  <a href="#a55946d0936860e17e5e5dd7bcdf2d169"></a><br/></td></tr>
<tr class="memitem:aca0a4ab81aac9368b7c3c01d6f43ce43"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPluralRules.html">PluralRules</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#aca0a4ab81aac9368b7c3c01d6f43ce43">operator=</a> (const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;)</td></tr>
<tr class="memdesc:aca0a4ab81aac9368b7c3c01d6f43ce43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#aca0a4ab81aac9368b7c3c01d6f43ce43"></a><br/></td></tr>
<tr class="memitem:a795c3aa81dae02077e5d9b8bc0c1f067"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classUnicodeString.html">UnicodeString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067">select</a> (<a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> number) const </td></tr>
<tr class="memdesc:a795c3aa81dae02077e5d9b8bc0c1f067"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a number, returns the keyword of the first rule that applies to the number.  <a href="#a795c3aa81dae02077e5d9b8bc0c1f067"></a><br/></td></tr>
<tr class="memitem:a54348839619cdf54e1e94b8180cc72dd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classUnicodeString.html">UnicodeString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a54348839619cdf54e1e94b8180cc72dd">select</a> (double number) const </td></tr>
<tr class="memdesc:a54348839619cdf54e1e94b8180cc72dd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Given a number, returns the keyword of the first rule that applies to the number.  <a href="#a54348839619cdf54e1e94b8180cc72dd"></a><br/></td></tr>
<tr class="memitem:acbdb208b3df25706fa8e2cc50e437192"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classStringEnumeration.html">StringEnumeration</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#acbdb208b3df25706fa8e2cc50e437192">getKeywords</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status) const </td></tr>
<tr class="memdesc:acbdb208b3df25706fa8e2cc50e437192"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a list of all rule keywords used in this <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> object.  <a href="#acbdb208b3df25706fa8e2cc50e437192"></a><br/></td></tr>
<tr class="memitem:a4081f454a784dd6103d6bc5e49e130b4"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a4081f454a784dd6103d6bc5e49e130b4">getUniqueKeywordValue</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;keyword)</td></tr>
<tr class="memdesc:a4081f454a784dd6103d6bc5e49e130b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a unique value for this keyword if it exists, else the constant UPLRULES_NO_UNIQUE_VALUE.  <a href="#a4081f454a784dd6103d6bc5e49e130b4"></a><br/></td></tr>
<tr class="memitem:a61d168e5b070eacdb2027cfb6922a385"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a61d168e5b070eacdb2027cfb6922a385">getAllKeywordValues</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;keyword, double *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> destCapacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a61d168e5b070eacdb2027cfb6922a385"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns all the values for which <a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067" title="Given a number, returns the keyword of the first rule that applies to the number.">select()</a> would return the keyword.  <a href="#a61d168e5b070eacdb2027cfb6922a385"></a><br/></td></tr>
<tr class="memitem:ae49f4dcfd78f15c1860ecab8f447cb9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#ae49f4dcfd78f15c1860ecab8f447cb9d">getSamples</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;keyword, double *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> destCapacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:ae49f4dcfd78f15c1860ecab8f447cb9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns sample values for which <a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067" title="Given a number, returns the keyword of the first rule that applies to the number.">select()</a> would return the keyword.  <a href="#ae49f4dcfd78f15c1860ecab8f447cb9d"></a><br/></td></tr>
<tr class="memitem:a5f9591d534c2075bd3a31c28041df437"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a5f9591d534c2075bd3a31c28041df437">isKeyword</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;keyword) const </td></tr>
<tr class="memdesc:a5f9591d534c2075bd3a31c28041df437"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns TRUE if the given keyword is defined in this <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> object.  <a href="#a5f9591d534c2075bd3a31c28041df437"></a><br/></td></tr>
<tr class="memitem:abcea68fc5bee177e902049c0fb34df0d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classUnicodeString.html">UnicodeString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#abcea68fc5bee177e902049c0fb34df0d">getKeywordOther</a> () const </td></tr>
<tr class="memdesc:abcea68fc5bee177e902049c0fb34df0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns keyword for default plural form.  <a href="#abcea68fc5bee177e902049c0fb34df0d"></a><br/></td></tr>
<tr class="memitem:a0409c1c6f97a2086bb6b0b18deb47f1d"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a0409c1c6f97a2086bb6b0b18deb47f1d">operator==</a> (const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;other) const </td></tr>
<tr class="memdesc:a0409c1c6f97a2086bb6b0b18deb47f1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares the equality of two <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> objects.  <a href="#a0409c1c6f97a2086bb6b0b18deb47f1d"></a><br/></td></tr>
<tr class="memitem:a0584e7a2285e577782440de32e33e12c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#a0584e7a2285e577782440de32e33e12c">operator!=</a> (const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;other) const </td></tr>
<tr class="memdesc:a0584e7a2285e577782440de32e33e12c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares the inequality of two <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> objects.  <a href="#a0584e7a2285e577782440de32e33e12c"></a><br/></td></tr>
<tr class="memitem:adcb38526674c5db9462ebbfa3650da03"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#adcb38526674c5db9462ebbfa3650da03">getDynamicClassID</a> () const </td></tr>
<tr class="memdesc:adcb38526674c5db9462ebbfa3650da03"><td class="mdescLeft">&#160;</td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for the actual class.  <a href="#adcb38526674c5db9462ebbfa3650da03"></a><br/></td></tr>
<tr class="inherit_header pub_methods_classUObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classUObject')"><img src="closed.png" alt="-"/>&nbsp;Public Member Functions inherited from <a class="el" href="classUObject.html">UObject</a></td></tr>
<tr class="memitem:ace22cf29a90641ef43350deae5bedb85 inherit pub_methods_classUObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUObject.html#ace22cf29a90641ef43350deae5bedb85">~UObject</a> ()</td></tr>
<tr class="memdesc:ace22cf29a90641ef43350deae5bedb85 inherit pub_methods_classUObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#ace22cf29a90641ef43350deae5bedb85"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:aea9b12842f4357ad1a018da516aab499"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classPluralRules.html">PluralRules</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#aea9b12842f4357ad1a018da516aab499">createRules</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;description, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:aea9b12842f4357ad1a018da516aab499"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> from a description if it is parsable, otherwise returns NULL.  <a href="#aea9b12842f4357ad1a018da516aab499"></a><br/></td></tr>
<tr class="memitem:ae462c8413dcbde39a6ef3495ce299102"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classPluralRules.html">PluralRules</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#ae462c8413dcbde39a6ef3495ce299102">createDefaultRules</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:ae462c8413dcbde39a6ef3495ce299102"><td class="mdescLeft">&#160;</td><td class="mdescRight">The default rules that accept any number.  <a href="#ae462c8413dcbde39a6ef3495ce299102"></a><br/></td></tr>
<tr class="memitem:ae24ef3c35b4769680b50b7aa171e11f4"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classPluralRules.html">PluralRules</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#ae24ef3c35b4769680b50b7aa171e11f4">forLocale</a> (const <a class="el" href="classLocale.html">Locale</a> &amp;locale, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:ae24ef3c35b4769680b50b7aa171e11f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provides access to the predefined <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> for a given locale.  <a href="#ae24ef3c35b4769680b50b7aa171e11f4"></a><br/></td></tr>
<tr class="memitem:ab889decdc97ff8219a9ec2dd5e1bf717"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPluralRules.html#ab889decdc97ff8219a9ec2dd5e1bf717">getStaticClassID</a> (void)</td></tr>
<tr class="memdesc:ab889decdc97ff8219a9ec2dd5e1bf717"><td class="mdescLeft">&#160;</td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for this class.  <a href="#ab889decdc97ff8219a9ec2dd5e1bf717"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Defines rules for mapping non-negative numeric values onto a small set of keywords. </p>
<p>Rules are constructed from a text description, consisting of a series of keywords and conditions. The <a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067">select</a> method examines each condition in order and returns the keyword for the first condition that matches the number. If none match, default rule(other) is returned.</p>
<p>For more information, details, and tips for writing rules, see the LDML spec, C.11 Language Plural Rules: <a href="http://www.unicode.org/draft/reports/tr35/tr35.html#Language_Plural_Rules">http://www.unicode.org/draft/reports/tr35/tr35.html#Language_Plural_Rules</a></p>
<p>Examples:</p>
<pre>
     "one: n is 1; few: n in 2..4"</pre><p> This defines two rules, for 'one' and 'few'. The condition for 'one' is "n is 1" which means that the number must be equal to 1 for this condition to pass. The condition for 'few' is "n in 2..4" which means that the number must be between 2 and 4 inclusive for this condition to pass. All other numbers are assigned the keyword "other" by the default rule. </p>
<pre>
      "zero: n is 0; one: n is 1; zero: n mod 100 in 1..19"</pre><p> This illustrates that the same keyword can be defined multiple times. Each rule is examined in order, and the first keyword whose condition passes is the one returned. Also notes that a modulus is applied to n in the last rule. Thus its condition holds for 119, 219, 319... </p>
<pre>
      "one: n is 1; few: n mod 10 in 2..4 and n mod 100 not in 12..14"</pre><p> This illustrates conjunction and negation. The condition for 'few' has two parts, both of which must be met: "n mod 10 in 2..4" and "n mod 100 not in 12..14". The first part applies a modulus to n before the test as in the previous example. The second part applies a different modulus and also uses negation, thus it matches all numbers <em>not</em> in 12, 13, 14, 112, 113, 114, 212, 213, 214... </p>
<p>Syntax:</p>
<pre>
   <div class="fragment"><div class="line">   rules         = rule (<span class="charliteral">&#39;;&#39;</span> rule)*</div>
<div class="line">   rule          = keyword <span class="charliteral">&#39;:&#39;</span> condition</div>
<div class="line">   keyword       = &lt;identifier&gt;</div>
<div class="line">   condition     = and_condition (<span class="stringliteral">&#39;or&#39;</span> and_condition)*</div>
<div class="line">   and_condition = relation (<span class="stringliteral">&#39;and&#39;</span> relation)*</div>
<div class="line">   relation      = is_relation | in_relation | within_relation | <span class="charliteral">&#39;n&#39;</span> &lt;EOL&gt;</div>
<div class="line">   is_relation   = expr <span class="stringliteral">&#39;is&#39;</span> (<span class="stringliteral">&#39;not&#39;</span>)? value</div>
<div class="line">   in_relation   = expr (<span class="stringliteral">&#39;not&#39;</span>)? <span class="stringliteral">&#39;in&#39;</span> range_list</div>
<div class="line">   within_relation = expr (<span class="stringliteral">&#39;not&#39;</span>)? <span class="stringliteral">&#39;within&#39;</span> range</div>
<div class="line">   expr          = <span class="charliteral">&#39;n&#39;</span> (<span class="stringliteral">&#39;mod&#39;</span> value)?</div>
<div class="line">   range_list    = (range | value) (<span class="charliteral">&#39;,&#39;</span> range_list)*</div>
<div class="line">   value         = digit+</div>
<div class="line">   digit         = 0|1|2|3|4|5|6|7|8|9</div>
<div class="line">   range         = value<span class="stringliteral">&#39;..&#39;</span>value</div>
</div><!-- fragment -->
   </pre><p>An "identifier" is a sequence of characters that do not have the Unicode Pattern_Syntax or Pattern_White_Space properties. </p>
<p>The difference between 'in' and 'within' is that 'in' only includes integers in the specified range, while 'within' includes all values.</p>
<p>Keywords could be defined by users or from ICU locale data. There are 6 predefined values in ICU - 'zero', 'one', 'two', 'few', 'many' and 'other'. Callers need to check the value of keyword returned by <a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067">select</a> method. </p>
<p>Examples:</p>
<pre>
   <a class="el" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> keyword = pl-&gt;select(number);
   if (keyword== <a class="el" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a>("one") {
       ...
   }
   else if ( ... )
   </pre><p> <b>Note:</b><br/>
 </p>
<p>ICU defines plural rules for many locales based on CLDR <em>Language Plural Rules</em>. For these predefined rules, see CLDR page at <a href="http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html">http://unicode.org/repos/cldr-tmp/trunk/diff/supplemental/language_plural_rules.html</a> </p>

<p>Definition at line <a class="el" href="plurrule_8h_source.html#l00126">126</a> of file <a class="el" href="plurrule_8h_source.html">plurrule.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6b32ab53f65942e15823e132f321a4b8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PluralRules::PluralRules </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constructor. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>Output param set to success/failure code on exit, which must not indicate a failure before the function call.</td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003247">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae490f4501e45cfd73d4d7fd4ccee1d08"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PluralRules::PluralRules </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy constructor. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003248">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a95d1445d1f33367a0c5083bcb817940e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PluralRules::~PluralRules </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Destructor. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003249">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a55946d0936860e17e5e5dd7bcdf2d169"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPluralRules.html">PluralRules</a>* PluralRules::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Clone. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003250">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae462c8413dcbde39a6ef3495ce299102"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classPluralRules.html">PluralRules</a>* PluralRules::createDefaultRules </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The default rules that accept any number. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>Output param set to success/failure code on exit, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>new <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> pointer. NULL if there is an error. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003253">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="aea9b12842f4357ad1a018da516aab499"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classPluralRules.html">PluralRules</a>* PluralRules::createRules </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>description</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Creates a <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> from a description if it is parsable, otherwise returns NULL. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">description</td><td>rule description </td></tr>
    <tr><td class="paramname">status</td><td>Output param set to success/failure code on exit, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>new <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> pointer. NULL if there is an error. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003252">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae24ef3c35b4769680b50b7aa171e11f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classPluralRules.html">PluralRules</a>* PluralRules::forLocale </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classLocale.html">Locale</a> &amp;&#160;</td>
          <td class="paramname"><em>locale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Provides access to the predefined <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> for a given locale. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">locale</td><td>The locale for which a <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> object is returned. </td></tr>
    <tr><td class="paramname">status</td><td>Output param set to success/failure code on exit, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The predefined <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> object pointer for this locale. If there's no predefined rules for this locale, the rules for the closest parent in the locale hierarchy that has one will be returned. The final fallback always returns the default 'other' rules. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003254">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a61d168e5b070eacdb2027cfb6922a385"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> PluralRules::getAllKeywordValues </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns all the values for which <a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067" title="Given a number, returns the keyword of the first rule that applies to the number.">select()</a> would return the keyword. </p>
<p>If the keyword is unknown, returns no values, but this is not an error. If the number of values is unlimited, returns no values and -1 as the count.</p>
<p>The number of returned values is typically small.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>The keyword. </td></tr>
    <tr><td class="paramname">dest</td><td>Array into which to put the returned values. May be NULL if destCapacity is 0. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The capacity of the array, must be at least 0. </td></tr>
    <tr><td class="paramname">status</td><td>The error code. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The count of values available, or -1. This count can be larger than destCapacity, but no more than destCapacity values will be written. </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000311">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.8 </dd></dl>

</div>
</div>
<a class="anchor" id="adcb38526674c5db9462ebbfa3650da03"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> PluralRules::getDynamicClassID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ICU "poor man's RTTI", returns a UClassID for the actual class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003263">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

<p>Implements <a class="el" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262">UObject</a>.</p>

</div>
</div>
<a class="anchor" id="abcea68fc5bee177e902049c0fb34df0d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classUnicodeString.html">UnicodeString</a> PluralRules::getKeywordOther </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns keyword for default plural form. </p>
<dl class="section return"><dt>Returns:</dt><dd>keyword for default plural form. </dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000392">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. 4.0 </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003259">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="acbdb208b3df25706fa8e2cc50e437192"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classStringEnumeration.html">StringEnumeration</a>* PluralRules::getKeywords </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a list of all rule keywords used in this <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> object. </p>
<p>The rule 'other' is always present by default. </p>
<pre class="fragment"> @param status Output param set to success/failure code on exit, which
               must not indicate a failure before the function call.
 @return       StringEnumeration with the keywords.
               The caller must delete the object.
 \xrefitem stable 3257.</pre> 
</div>
</div>
<a class="anchor" id="ae49f4dcfd78f15c1860ecab8f447cb9d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> PluralRules::getSamples </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>keyword</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns sample values for which <a class="el" href="classPluralRules.html#a795c3aa81dae02077e5d9b8bc0c1f067" title="Given a number, returns the keyword of the first rule that applies to the number.">select()</a> would return the keyword. </p>
<p>If the keyword is unknown, returns no values, but this is not an error.</p>
<p>The number of returned values is typically small.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>The keyword. </td></tr>
    <tr><td class="paramname">dest</td><td>Array into which to put the returned values. May be NULL if destCapacity is 0. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The capacity of the array, must be at least 0. </td></tr>
    <tr><td class="paramname">status</td><td>The error code. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The count of values written. If more than destCapacity samples are available, then only destCapacity are written, and destCapacity is returned as the count, rather than setting a U_BUFFER_OVERFLOW_ERROR. (The actual number of keyword values could be unlimited.) </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000312">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.8 </dd></dl>

</div>
</div>
<a class="anchor" id="ab889decdc97ff8219a9ec2dd5e1bf717"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> PluralRules::getStaticClassID </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>ICU "poor man's RTTI", returns a UClassID for this class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003262">Stable:</a></b></dt><dd>ICU 4.0</dd></dl>

</div>
</div>
<a class="anchor" id="a4081f454a784dd6103d6bc5e49e130b4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double PluralRules::getUniqueKeywordValue </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>keyword</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns a unique value for this keyword if it exists, else the constant UPLRULES_NO_UNIQUE_VALUE. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>The keyword. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The unique value that generates the keyword, or UPLRULES_NO_UNIQUE_VALUE if the keyword is undefined or there is no unique value that generates this keyword. </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000310">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a5f9591d534c2075bd3a31c28041df437"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> PluralRules::isKeyword </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>keyword</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns TRUE if the given keyword is defined in this <code><a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a></code> object. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">keyword</td><td>the input keyword. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>TRUE if the input keyword is defined. Otherwise, return FALSE. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003258">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a0584e7a2285e577782440de32e33e12c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> PluralRules::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compares the inequality of two <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> objects. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>The <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> object to be compared with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if the given <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> is not the same as this <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>; false otherwise. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003261">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

<p>Definition at line <a class="el" href="plurrule_8h_source.html#l00331">331</a> of file <a class="el" href="plurrule_8h_source.html">plurrule.h</a>.</p>

<p>References <a class="el" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352">operator==()</a>.</p>

</div>
</div>
<a class="anchor" id="aca0a4ab81aac9368b7c3c01d6f43ce43"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPluralRules.html">PluralRules</a>&amp; PluralRules::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assignment operator. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003251">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a0409c1c6f97a2086bb6b0b18deb47f1d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> PluralRules::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPluralRules.html">PluralRules</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compares the equality of two <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> objects. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>The other <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> object to be compared with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if the given <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a> is the same as this <a class="el" href="classPluralRules.html" title="Defines rules for mapping non-negative numeric values onto a small set of keywords.">PluralRules</a>; false otherwise. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003260">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a795c3aa81dae02077e5d9b8bc0c1f067"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classUnicodeString.html">UnicodeString</a> PluralRules::select </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>number</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Given a number, returns the keyword of the first rule that applies to the number. </p>
<p>This function can be used with isKeyword* functions to determine the keyword for default plural rules.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">number</td><td>The number for which the rule has to be determined. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The keyword of the selected rule. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003255">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a54348839619cdf54e1e94b8180cc72dd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classUnicodeString.html">UnicodeString</a> PluralRules::select </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>number</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Given a number, returns the keyword of the first rule that applies to the number. </p>
<p>This function can be used with isKeyword* functions to determine the keyword for default plural rules.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">number</td><td>The number for which the rule has to be determined. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The keyword of the selected rule. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003256">Stable:</a></b></dt><dd>ICU 4.0 </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="plurrule_8h_source.html">plurrule.h</a></li>
</ul>
</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>