<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.3.1"/> <title>ICU 49.1.1: alphaindex.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="dynsections.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="top"><!-- do not remove this div, it is closed by doxygen! --> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">ICU 49.1.1  <span id="projectnumber">49.1.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.3.1 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_73bc6a9bb617ea1bc89a10aa59ce84e4.html">i18n</a></li><li class="navelem"><a class="el" href="dir_0119ce638985e8a1561a00fdb5f76ff6.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">alphaindex.h</div> </div> </div><!--header--> <div class="contents"> <a href="alphaindex_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">*</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">* Copyright (C) 2011-2012 International Business Machines</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">* Corporation and others. All Rights Reserved.</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">*</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">*/</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> </div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="preprocessor">#ifndef INDEXCHARS_H</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="preprocessor"></span><span class="preprocessor">#define INDEXCHARS_H</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>"</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="preprocessor">#include "<a class="code" href="uobject_8h.html" title="C++ API: Common ICU base class UObject.">unicode/uobject.h</a>"</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#include "<a class="code" href="locid_8h.html" title="C++ API: Locale ID object.">unicode/locid.h</a>"</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> </div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> </div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#if !UCONFIG_NO_COLLATION && !UCONFIG_NO_NORMALIZATION</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <a class="code" href="umachine_8h.html#a82c853d86803ab75c89267be54fbac6a" title="This is used to begin a declaration of a library private ICU C API.">U_CDECL_BEGIN</a></div> <div class="line"><a name="l00026"></a><span class="lineno"> 26</span> </div> <div class="line"><a name="l00033"></a><span class="lineno"><a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8"> 33</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a> {</div> <div class="line"><a name="l00039"></a><span class="lineno"><a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8a6ee9675a8a4432d02dc01e14ffa87f40"> 39</a></span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8a6ee9675a8a4432d02dc01e14ffa87f40" title="Normal Label, typically the starting letter of the names in the bucket with this label.">U_ALPHAINDEX_NORMAL</a> = 0,</div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> </div> <div class="line"><a name="l00046"></a><span class="lineno"><a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8a2791d4f2a9a1290fb284188a2cc739f6"> 46</a></span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8a2791d4f2a9a1290fb284188a2cc739f6" title="Undeflow Label.">U_ALPHAINDEX_UNDERFLOW</a> = 1,</div> <div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> <div class="line"><a name="l00056"></a><span class="lineno"><a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8ae6f5d073e12f88885456163e0ccc83f9"> 56</a></span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8ae6f5d073e12f88885456163e0ccc83f9" title="Inflow Label.">U_ALPHAINDEX_INFLOW</a> = 2,</div> <div class="line"><a name="l00057"></a><span class="lineno"> 57</span> </div> <div class="line"><a name="l00063"></a><span class="lineno"><a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8a02c6fddd6b884489283aa056871a3f24"> 63</a></span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8a02c6fddd6b884489283aa056871a3f24" title="Overflow Label.">U_ALPHAINDEX_OVERFLOW</a> = 3</div> <div class="line"><a name="l00064"></a><span class="lineno"> 64</span> } <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a>;</div> <div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> <div class="line"><a name="l00066"></a><span class="lineno"> 66</span> </div> <div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="keyword">struct </span>UHashtable;</div> <div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <a class="code" href="umachine_8h.html#a1a820e5c6cbe8ac1742b654e6bf9ed7d" title="This is used to end a declaration of a library private ICU C API.">U_CDECL_END</a></div> <div class="line"><a name="l00069"></a><span class="lineno"> 69</span> </div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <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="l00071"></a><span class="lineno"> 71</span> </div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// Forward Declarations</span></div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span> </div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="keyword">class </span><a class="code" href="classCollator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a>;</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">class </span><a class="code" href="classRuleBasedCollator.html" title="The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...">RuleBasedCollator</a>;</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">class </span><a class="code" href="classStringEnumeration.html" title="Base class for 'pure' C++ implementations of uenum api.">StringEnumeration</a>;</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">class </span><a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a>;</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">class </span>UVector;</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> </div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> <div class="line"><a name="l00165"></a><span class="lineno"><a class="code" href="classAlphabeticIndex.html"> 165</a></span> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from outside...">U_I18N_API</a> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a>: <span class="keyword">public</span> <a class="code" href="classUObject.html" title="UObject is the common ICU "boilerplate" class.">UObject</a> {</div> <div class="line"><a name="l00166"></a><span class="lineno"> 166</span> </div> <div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div> <div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a>(<span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> &locale, <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> &status);</div> <div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> <div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> <div class="line"><a name="l00184"></a><span class="lineno"> 184</span> </div> <div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &addLabels(<span class="keyword">const</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> &additions, <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> &status);</div> <div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &addLabels(<span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> &locale, <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> &status);</div> <div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> <div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keyword">virtual</span> ~<a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a>();</div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div> <div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRuleBasedCollator.html" title="The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...">RuleBasedCollator</a> &getCollator() <span class="keyword">const</span>;</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> <div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keyword">virtual</span> <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> &getInflowLabel() <span class="keyword">const</span>;</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &setInflowLabel(<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> &inflowLabel, <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> &status);</div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> <div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div> <div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <span class="keyword">virtual</span> <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> &getOverflowLabel() <span class="keyword">const</span>;</div> <div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div> <div class="line"><a name="l00268"></a><span class="lineno"> 268</span> </div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &setOverflowLabel(<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> &overflowLabel, <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> &status);</div> <div class="line"><a name="l00279"></a><span class="lineno"> 279</span> </div> <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keyword">virtual</span> <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> &getUnderflowLabel() <span class="keyword">const</span>;</div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div> <div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &setUnderflowLabel(<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> &underflowLabel, <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> &status);</div> <div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div> <div class="line"><a name="l00300"></a><span class="lineno"> 300</span> </div> <div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keyword">virtual</span> int32_t getMaxLabelCount() <span class="keyword">const</span>;</div> <div class="line"><a name="l00309"></a><span class="lineno"> 309</span> </div> <div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &setMaxLabelCount(int32_t maxLabelCount, <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> &status);</div> <div class="line"><a name="l00323"></a><span class="lineno"> 323</span> </div> <div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div> <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">virtual</span> <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> &getOverflowComparisonString(<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> &lowerLimit,</div> <div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <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> &status);</div> <div class="line"><a name="l00339"></a><span class="lineno"> 339</span> </div> <div class="line"><a name="l00340"></a><span class="lineno"> 340</span> </div> <div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &addRecord(<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> &name, <span class="keyword">const</span> <span class="keywordtype">void</span> *data, <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> &status);</div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span> </div> <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &clearRecords(<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> &status);</div> <div class="line"><a name="l00368"></a><span class="lineno"> 368</span> </div> <div class="line"><a name="l00369"></a><span class="lineno"> 369</span> </div> <div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="keyword">virtual</span> int32_t getBucketCount(<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> &status);</div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span> </div> <div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div> <div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  <span class="keyword">virtual</span> int32_t getRecordCount(<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> &status);</div> <div class="line"><a name="l00390"></a><span class="lineno"> 390</span> </div> <div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div> <div class="line"><a name="l00392"></a><span class="lineno"> 392</span> </div> <div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keyword">virtual</span> int32_t getBucketIndex(<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> &itemName, <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> &status);</div> <div class="line"><a name="l00406"></a><span class="lineno"> 406</span> </div> <div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div> <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <span class="keyword">virtual</span> int32_t getBucketIndex() <span class="keyword">const</span>;</div> <div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span> </div> <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> nextBucket(<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> &status);</div> <div class="line"><a name="l00429"></a><span class="lineno"> 429</span> </div> <div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="keyword">virtual</span> <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> &getBucketLabel() <span class="keyword">const</span>;</div> <div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div> <div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keyword">virtual</span> <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a> getBucketLabelType() <span class="keyword">const</span>;</div> <div class="line"><a name="l00448"></a><span class="lineno"> 448</span> </div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  <span class="keyword">virtual</span> int32_t getBucketRecordCount() <span class="keyword">const</span>;</div> <div class="line"><a name="l00458"></a><span class="lineno"> 458</span> </div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div> <div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &resetBucketIterator(<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> &status);</div> <div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div> <div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> nextRecord(<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> &status);</div> <div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div> <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keyword">virtual</span> <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> &getRecordName() <span class="keyword">const</span>;</div> <div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div> <div class="line"><a name="l00493"></a><span class="lineno"> 493</span> </div> <div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">void</span> *getRecordData() <span class="keyword">const</span>;</div> <div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div> <div class="line"><a name="l00504"></a><span class="lineno"> 504</span> </div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="keyword">virtual</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &resetRecordIterator();</div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div> <div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="comment">// No ICU "poor man's RTTI" for this class nor its subclasses.</span></div> <div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keyword">virtual</span> <a class="code" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using the compiler's RTTI.">UClassID</a> <a class="code" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262" title="ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.">getDynamicClassID</a>() <span class="keyword">const</span>;</div> <div class="line"><a name="l00516"></a><span class="lineno"> 516</span> </div> <div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a>(<span class="keyword">const</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &other);</div> <div class="line"><a name="l00522"></a><span class="lineno"> 522</span> </div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> &operator =(<span class="keyword">const</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> & <span class="comment">/*other*/</span>) { <span class="keywordflow">return</span> *<span class="keyword">this</span>;};</div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div> <div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  <span class="keyword">virtual</span> <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="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a>& other) <span class="keyword">const</span>;</div> <div class="line"><a name="l00533"></a><span class="lineno"> 533</span> </div> <div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#abf0ccab9536bab551afc07de65eb5d95" title="Global operator != for StringPiece.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a>& other) <span class="keyword">const</span>;</div> <div class="line"><a name="l00539"></a><span class="lineno"> 539</span> </div> <div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <span class="comment">// Common initialization, for use from all constructors.</span></div> <div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  <span class="keywordtype">void</span> 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> &status);</div> <div class="line"><a name="l00542"></a><span class="lineno"> 542</span> </div> <div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  <span class="comment">// Initialize & destruct static constants used by this class.</span></div> <div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> staticInit(<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> &status);</div> <div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div> <div class="line"><a name="l00546"></a><span class="lineno"> 546</span>  <span class="comment">// Pinyin stuff. If the input name is Chinese, add the Pinyin prefix to the dest string.</span></div> <div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  <span class="keywordtype">void</span> hackName(<a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &dest, <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> &name, <span class="keyword">const</span> <a class="code" href="classCollator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a> *coll);</div> <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keywordtype">void</span> initPinyinBounds(<span class="keyword">const</span> <a class="code" href="classCollator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a> *coll, <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> &status);</div> <div class="line"><a name="l00549"></a><span class="lineno"> 549</span> </div> <div class="line"><a name="l00550"></a><span class="lineno"> 550</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00551"></a><span class="lineno"> 551</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div> <div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> staticCleanup();</div> <div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"></span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00560"></a><span class="lineno"> 560</span> </div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span>  <span class="comment">// Add index characters from the specified locale to the dest set.</span></div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</span>  <span class="comment">// Does not remove any previous contents from dest.</span></div> <div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keyword">static</span> <span class="keywordtype">void</span> getIndexExemplars(<a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> &dest, <span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> &locale, <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> &status);</div> <div class="line"><a name="l00564"></a><span class="lineno"> 564</span> </div> <div class="line"><a name="l00565"></a><span class="lineno"> 565</span>  UVector *firstStringsInScript(<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> &status);</div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span> </div> <div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> separated(<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> &item);</div> <div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div> <div class="line"><a name="l00569"></a><span class="lineno"> 569</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *getScriptSet(<a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> &dest, <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> &codePoint, <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> &status);</div> <div class="line"><a name="l00570"></a><span class="lineno"> 570</span> </div> <div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordtype">void</span> buildIndex(<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> &status);</div> <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keywordtype">void</span> buildBucketList(<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> &status);</div> <div class="line"><a name="l00573"></a><span class="lineno"> 573</span>  <span class="keywordtype">void</span> bucketRecords(<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> &status);</div> <div class="line"><a name="l00574"></a><span class="lineno"> 574</span> </div> <div class="line"><a name="l00575"></a><span class="lineno"> 575</span> </div> <div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00577"></a><span class="lineno"> 577</span> </div> <div class="line"><a name="l00578"></a><span class="lineno"> 578</span>  <span class="comment">// The following internal items are declared public only to allow access from</span></div> <div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="comment">// implementation code written in plain C. They are not intended for</span></div> <div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="comment">// public use.</span></div> <div class="line"><a name="l00581"></a><span class="lineno"> 581</span> </div> <div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div> <div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00587"></a><span class="lineno"><a class="code" href="structAlphabeticIndex_1_1Record.html"> 587</a></span>  <span class="keyword">struct </span><a class="code" href="structAlphabeticIndex_1_1Record.html" title="A record, or item, in the index.">Record</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="l00588"></a><span class="lineno"> 588</span>  <a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> *alphaIndex_;</div> <div class="line"><a name="l00589"></a><span class="lineno"> 589</span>  <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> name_;</div> <div class="line"><a name="l00590"></a><span class="lineno"> 590</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> sortingName_; <span class="comment">// Usually the same as name_; different for Pinyin.</span></div> <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *data_;</div> <div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  int32_t serialNumber_; <span class="comment">// Defines sorting order for names that compare equal.</span></div> <div class="line"><a name="l00593"></a><span class="lineno"> 593</span>  <a class="code" href="structAlphabeticIndex_1_1Record.html" title="A record, or item, in the index.">Record</a>(<a class="code" href="classAlphabeticIndex.html" title="class AlphabeticIndex supports the creation of a UI index appropriate for a given language...">AlphabeticIndex</a> *alphaIndex, <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> &name, <span class="keyword">const</span> <span class="keywordtype">void</span> *data);</div> <div class="line"><a name="l00594"></a><span class="lineno"> 594</span>  ~<a class="code" href="structAlphabeticIndex_1_1Record.html" title="A record, or item, in the index.">Record</a>();</div> <div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  };</div> <div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00603"></a><span class="lineno"><a class="code" href="classAlphabeticIndex.html#a57710f17956e43f73d9beb7943c1fdbc"> 603</a></span>  UVector *<a class="code" href="classAlphabeticIndex.html#a57710f17956e43f73d9beb7943c1fdbc" title="Holds all user records before they are distributed into buckets.">inputRecords_</a>;</div> <div class="line"><a name="l00604"></a><span class="lineno"> 604</span> </div> <div class="line"><a name="l00610"></a><span class="lineno"><a class="code" href="structAlphabeticIndex_1_1Bucket.html"> 610</a></span>  <span class="keyword">struct </span><a class="code" href="structAlphabeticIndex_1_1Bucket.html" title="A Bucket holds an index label and references to everything belonging to that label.">Bucket</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="l00611"></a><span class="lineno"> 611</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> label_;</div> <div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> lowerBoundary_;</div> <div class="line"><a name="l00613"></a><span class="lineno"> 613</span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a> labelType_;</div> <div class="line"><a name="l00614"></a><span class="lineno"> 614</span>  UVector *records_; <span class="comment">// Records are owned by inputRecords_ vector.</span></div> <div class="line"><a name="l00615"></a><span class="lineno"> 615</span> </div> <div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <a class="code" href="structAlphabeticIndex_1_1Bucket.html" title="A Bucket holds an index label and references to everything belonging to that label.">Bucket</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> &label, <span class="comment">// Parameter strings are copied.</span></div> <div class="line"><a name="l00617"></a><span class="lineno"> 617</span>  <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> &lowerBoundary,</div> <div class="line"><a name="l00618"></a><span class="lineno"> 618</span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a> type, <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> &status);</div> <div class="line"><a name="l00619"></a><span class="lineno"> 619</span>  ~<a class="code" href="structAlphabeticIndex_1_1Bucket.html" title="A Bucket holds an index label and references to everything belonging to that label.">Bucket</a>();</div> <div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  };</div> <div class="line"><a name="l00621"></a><span class="lineno"> 621</span> </div> <div class="line"><a name="l00622"></a><span class="lineno"> 622</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00623"></a><span class="lineno"> 623</span> </div> <div class="line"><a name="l00628"></a><span class="lineno"><a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712"> 628</a></span>  <span class="keyword">enum</span> <a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712" title="Language Types.">ELangType</a> {</div> <div class="line"><a name="l00630"></a><span class="lineno"><a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712ae19ea3620d3a91e07e20441dda79e01b"> 630</a></span>  <a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712ae19ea3620d3a91e07e20441dda79e01b">kNormal</a>,</div> <div class="line"><a name="l00632"></a><span class="lineno"><a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712aa3ced2f02625e001be2d391c7b38f8ff"> 632</a></span>  <a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712aa3ced2f02625e001be2d391c7b38f8ff">kSimplified</a>,</div> <div class="line"><a name="l00634"></a><span class="lineno"><a class="code" href="classAlphabeticIndex.html#ad20af51c0447c195a9a341c2bd990712a3ead1bb95256b711ac30417c2d6d693d"> 634</a></span>  kTraditional</div> <div class="line"><a name="l00635"></a><span class="lineno"> 635</span>  };</div> <div class="line"><a name="l00636"></a><span class="lineno"> 636</span> </div> <div class="line"><a name="l00641"></a><span class="lineno"> 641</span>  <span class="keyword">static</span> ELangType langTypeFromLocale(<span class="keyword">const</span> <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> &loc);</div> <div class="line"><a name="l00642"></a><span class="lineno"> 642</span> </div> <div class="line"><a name="l00643"></a><span class="lineno"> 643</span> </div> <div class="line"><a name="l00644"></a><span class="lineno"> 644</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00645"></a><span class="lineno"> 645</span> </div> <div class="line"><a name="l00646"></a><span class="lineno"> 646</span>  <span class="comment">// Holds the contents of this index, buckets of user items.</span></div> <div class="line"><a name="l00647"></a><span class="lineno"> 647</span>  <span class="comment">// UVector elements are of type (Bucket *)</span></div> <div class="line"><a name="l00648"></a><span class="lineno"> 648</span>  UVector *bucketList_;</div> <div class="line"><a name="l00649"></a><span class="lineno"> 649</span> </div> <div class="line"><a name="l00650"></a><span class="lineno"> 650</span>  int32_t labelsIterIndex_; <span class="comment">// Index of next item to return.</span></div> <div class="line"><a name="l00651"></a><span class="lineno"> 651</span>  int32_t itemsIterIndex_;</div> <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  Bucket *currentBucket_; <span class="comment">// While an iteration of the index in underway,</span></div> <div class="line"><a name="l00653"></a><span class="lineno"> 653</span>  <span class="comment">// point to the bucket for the current label.</span></div> <div class="line"><a name="l00654"></a><span class="lineno"> 654</span>  <span class="comment">// NULL when no iteration underway.</span></div> <div class="line"><a name="l00655"></a><span class="lineno"> 655</span> </div> <div class="line"><a name="l00656"></a><span class="lineno"> 656</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> indexBuildRequired_; <span class="comment">// Caller has made changes to the index that</span></div> <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <span class="comment">// require rebuilding & bucketing before the</span></div> <div class="line"><a name="l00658"></a><span class="lineno"> 658</span>  <span class="comment">// contents can be iterated.</span></div> <div class="line"><a name="l00659"></a><span class="lineno"> 659</span> </div> <div class="line"><a name="l00660"></a><span class="lineno"> 660</span>  int32_t maxLabelCount_; <span class="comment">// Limit on # of labels permitted in the index.</span></div> <div class="line"><a name="l00661"></a><span class="lineno"> 661</span> </div> <div class="line"><a name="l00662"></a><span class="lineno"> 662</span>  UHashtable *alreadyIn_; <span class="comment">// Key=UnicodeString, value=UnicodeSet</span></div> <div class="line"><a name="l00663"></a><span class="lineno"> 663</span> </div> <div class="line"><a name="l00664"></a><span class="lineno"> 664</span>  <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *initialLabels_; <span class="comment">// Initial (unprocessed) set of Labels. Union</span></div> <div class="line"><a name="l00665"></a><span class="lineno"> 665</span>  <span class="comment">// of those explicitly set by the user plus</span></div> <div class="line"><a name="l00666"></a><span class="lineno"> 666</span>  <span class="comment">// those from locales. Raw values, before</span></div> <div class="line"><a name="l00667"></a><span class="lineno"> 667</span>  <span class="comment">// crunching into bucket labels.</span></div> <div class="line"><a name="l00668"></a><span class="lineno"> 668</span> </div> <div class="line"><a name="l00669"></a><span class="lineno"> 669</span>  UVector *labels_; <span class="comment">// List of Labels, after processing, sorting.</span></div> <div class="line"><a name="l00670"></a><span class="lineno"> 670</span>  <span class="comment">// Contents are (UnicodeString *)</span></div> <div class="line"><a name="l00671"></a><span class="lineno"> 671</span> </div> <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *noDistinctSorting_; <span class="comment">// As the set of labels is built, strings may </span></div> <div class="line"><a name="l00673"></a><span class="lineno"> 673</span>  <span class="comment">// be discarded from the exemplars. This contains </span></div> <div class="line"><a name="l00674"></a><span class="lineno"> 674</span>  <span class="comment">// some of the discards, and is</span></div> <div class="line"><a name="l00675"></a><span class="lineno"> 675</span>  <span class="comment">// intended for debugging.</span></div> <div class="line"><a name="l00676"></a><span class="lineno"> 676</span> </div> <div class="line"><a name="l00677"></a><span class="lineno"> 677</span>  <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *notAlphabetic_; <span class="comment">// As the set of labels is built, strings may </span></div> <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="comment">// be discarded from the exemplars. This contains </span></div> <div class="line"><a name="l00679"></a><span class="lineno"> 679</span>  <span class="comment">// some of the discards, and is</span></div> <div class="line"><a name="l00680"></a><span class="lineno"> 680</span>  <span class="comment">// intended for debugging.</span></div> <div class="line"><a name="l00681"></a><span class="lineno"> 681</span> </div> <div class="line"><a name="l00682"></a><span class="lineno"> 682</span> </div> <div class="line"><a name="l00683"></a><span class="lineno"> 683</span>  UVector *firstScriptCharacters_; <span class="comment">// The first character from each script,</span></div> <div class="line"><a name="l00684"></a><span class="lineno"> 684</span>  <span class="comment">// in collation order.</span></div> <div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div> <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <a class="code" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region.">Locale</a> locale_;</div> <div class="line"><a name="l00687"></a><span class="lineno"> 687</span>  <a class="code" href="classCollator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a> *collator_;</div> <div class="line"><a name="l00688"></a><span class="lineno"> 688</span>  <a class="code" href="classCollator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a> *collatorPrimaryOnly_;</div> <div class="line"><a name="l00689"></a><span class="lineno"> 689</span> </div> <div class="line"><a name="l00690"></a><span class="lineno"> 690</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> inflowLabel_;</div> <div class="line"><a name="l00691"></a><span class="lineno"> 691</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> overflowLabel_;</div> <div class="line"><a name="l00692"></a><span class="lineno"> 692</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> underflowLabel_;</div> <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> overflowComparisonString_;</div> <div class="line"><a name="l00694"></a><span class="lineno"> 694</span> </div> <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  ELangType langType_; <span class="comment">// The language type, simplified Chinese, Traditional Chinese,</span></div> <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="comment">// or not Chinese (Normal). Part of the Pinyin support</span></div> <div class="line"><a name="l00697"></a><span class="lineno"> 697</span> </div> <div class="line"><a name="l00698"></a><span class="lineno"> 698</span>  <span class="keyword">typedef</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be char16_t, if available, or wchar_t if that is 16 bits wide; always assumed to be u...">UChar</a> PinyinLookup[24][3];</div> <div class="line"><a name="l00699"></a><span class="lineno"> 699</span>  <span class="keyword">static</span> PinyinLookup HACK_PINYIN_LOOKUP_SHORT;</div> <div class="line"><a name="l00700"></a><span class="lineno"> 700</span>  <span class="keyword">static</span> PinyinLookup HACK_PINYIN_LOOKUP_LONG;</div> <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  </div> <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="comment">// These will be lazily set to the short or long tables based on which</span></div> <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="comment">// Chinese collation has been configured into the ICU library.</span></div> <div class="line"><a name="l00704"></a><span class="lineno"> 704</span>  <span class="keyword">static</span> PinyinLookup *HACK_PINYIN_LOOKUP;</div> <div class="line"><a name="l00705"></a><span class="lineno"> 705</span>  <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be char16_t, if available, or wchar_t if that is 16 bits wide; always assumed to be u...">UChar</a> *PINYIN_LOWER_BOUNDS;</div> <div class="line"><a name="l00706"></a><span class="lineno"> 706</span> </div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</span> </div> <div class="line"><a name="l00708"></a><span class="lineno"> 708</span> </div> <div class="line"><a name="l00709"></a><span class="lineno"> 709</span>  int32_t recordCounter_; <span class="comment">// Counts Records created. For minting record serial numbers.</span></div> <div class="line"><a name="l00710"></a><span class="lineno"> 710</span> </div> <div class="line"><a name="l00711"></a><span class="lineno"> 711</span> <span class="comment">// Constants. Lazily initialized the first time an AlphabeticIndex object is created.</span></div> <div class="line"><a name="l00712"></a><span class="lineno"> 712</span> </div> <div class="line"><a name="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *ALPHABETIC;</div> <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *CORE_LATIN;</div> <div class="line"><a name="l00715"></a><span class="lineno"> 715</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *ETHIOPIC;</div> <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *HANGUL;</div> <div class="line"><a name="l00717"></a><span class="lineno"> 717</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *IGNORE_SCRIPTS;</div> <div class="line"><a name="l00718"></a><span class="lineno"> 718</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *TO_TRY;</div> <div class="line"><a name="l00719"></a><span class="lineno"> 719</span>  <span class="keyword">static</span> <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *UNIHAN;</div> <div class="line"><a name="l00720"></a><span class="lineno"> 720</span>  <span class="keyword">static</span> <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> *EMPTY_STRING;</div> <div class="line"><a name="l00721"></a><span class="lineno"> 721</span> </div> <div class="line"><a name="l00722"></a><span class="lineno"> 722</span> };</div> <div class="line"><a name="l00723"></a><span class="lineno"> 723</span> </div> <div class="line"><a name="l00724"></a><span class="lineno"> 724</span> <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="l00725"></a><span class="lineno"> 725</span> </div> <div class="line"><a name="l00726"></a><span class="lineno"> 726</span> <span class="preprocessor">#endif </span><span class="comment">/* UCONFIG_NO_COLLATION / UCONFIG_NO_NORMALIZATION */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00727"></a><span class="lineno"> 727</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.3.1 </small></address> </body> </html>