<!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 52.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 52.1  <span id="projectnumber">52.1</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.1.2 --> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="dir_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-2013 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>BucketList;</div> <div class="line"><a name="l00075"></a><span class="lineno"> 75</span> <span class="keyword">class </span>Collator;</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> <span class="keyword">class </span>RuleBasedCollator;</div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="keyword">class </span>StringEnumeration;</div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keyword">class </span>UnicodeSet;</div> <div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="keyword">class </span>UVector;</div> <div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div> <div class="line"><a name="l00187"></a><span class="lineno"><a class="code" href="classicu_1_1AlphabeticIndex.html"> 187</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="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>: <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html" title="UObject is the common ICU "boilerplate" class.">UObject</a> {</div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor">#ifdef U_HIDE_DRAFT_API</span></div> <div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"></span> <span class="keyword">class </span><a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a>;</div> <div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor">#else</span></div> <div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00200"></a><span class="lineno"><a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html"> 200</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="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html" title="UObject is the common ICU "boilerplate" class.">UObject</a> {</div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a>();</div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div> <div class="line"><a name="l00214"></a><span class="lineno"><a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html#a28df34aefc95aa4cee80d5babc31b9b9"> 214</a></span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &<a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html#a28df34aefc95aa4cee80d5babc31b9b9" title="Returns the label string.">getLabel</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> label_; }</div> <div class="line"><a name="l00221"></a><span class="lineno"><a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html#a04f7666ebaab14262f5cf5a5b0b82cf7"> 221</a></span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a> <a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html#a04f7666ebaab14262f5cf5a5b0b82cf7" title="Returns whether this bucket is a normal, underflow, overflow, or inflow bucket.">getLabelType</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> labelType_; }</div> <div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> <div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>;</div> <div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keyword">friend</span> <span class="keyword">class </span>BucketList;</div> <div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> <div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="classicu_1_1UnicodeString.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="l00228"></a><span class="lineno"> 228</span>  <a class="code" href="classicu_1_1UnicodeString.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="l00229"></a><span class="lineno"> 229</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="l00230"></a><span class="lineno"> 230</span>  <a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a> *displayBucket_;</div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  int32_t displayIndex_;</div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  UVector *records_; <span class="comment">// Records are owned by the inputList_ vector.</span></div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00235"></a><span class="lineno"> 235</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00236"></a><span class="lineno"> 236</span>  <a class="code" href="alphaindex_8h.html#a969464092cba264934f2c66c7c621dc8" title="Constants for Alphabetic Index Label Types.">UAlphabeticIndexLabelType</a> type);</div> <div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  };</div> <div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div> <div class="line"><a name="l00249"></a><span class="lineno"><a class="code" href="classicu_1_1AlphabeticIndex_1_1ImmutableIndex.html"> 249</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="classicu_1_1AlphabeticIndex_1_1ImmutableIndex.html" title="Immutable, thread-safe version of AlphabeticIndex.">ImmutableIndex</a> : <span class="keyword">public</span> <a class="code" href="classicu_1_1UObject.html" title="UObject is the common ICU "boilerplate" class.">UObject</a> {</div> <div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keyword">public</span>:</div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1AlphabeticIndex_1_1ImmutableIndex.html" title="Immutable, thread-safe version of AlphabeticIndex.">ImmutableIndex</a>();</div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span> </div> <div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  int32_t getBucketCount() <span class="keyword">const</span>;</div> <div class="line"><a name="l00264"></a><span class="lineno"> 264</span> </div> <div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  int32_t getBucketIndex(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> &name, <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> &errorCode) <span class="keyword">const</span>;</div> <div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a> *getBucket(int32_t index) <span class="keyword">const</span>;</div> <div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div> <div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keyword">private</span>:</div> <div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>;</div> <div class="line"><a name="l00286"></a><span class="lineno"> 286</span> </div> <div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <a class="code" href="classicu_1_1AlphabeticIndex_1_1ImmutableIndex.html" title="Immutable, thread-safe version of AlphabeticIndex.">ImmutableIndex</a>(BucketList *bucketList, <a class="code" href="classicu_1_1Collator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a> *collatorPrimaryOnly)</div> <div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  : buckets_(bucketList), collatorPrimaryOnly_(collatorPrimaryOnly) {}</div> <div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div> <div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  BucketList *buckets_;</div> <div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <a class="code" href="classicu_1_1Collator.html" title="The Collator class performs locale-sensitive string comparison.">Collator</a> *collatorPrimaryOnly_;</div> <div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  };</div> <div class="line"><a name="l00293"></a><span class="lineno"> 293</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DRAFT_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00294"></a><span class="lineno"> 294</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.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="l00308"></a><span class="lineno"> 308</span> </div> <div class="line"><a name="l00309"></a><span class="lineno"> 309</span> <span class="preprocessor">#ifndef U_HIDE_DRAFT_API</span></div> <div class="line"><a name="l00310"></a><span class="lineno"> 310</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  <a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>(<a class="code" href="classicu_1_1RuleBasedCollator.html" title="The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...">RuleBasedCollator</a> *collator, <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="l00325"></a><span class="lineno"> 325</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DRAFT_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00326"></a><span class="lineno"> 326</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1UnicodeSet.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="l00338"></a><span class="lineno"> 338</span> </div> <div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1Locale.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="l00353"></a><span class="lineno"> 353</span> </div> <div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  <span class="keyword">virtual</span> ~<a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>();</div> <div class="line"><a name="l00359"></a><span class="lineno"> 359</span> </div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span> <span class="preprocessor">#ifndef U_HIDE_DRAFT_API</span></div> <div class="line"><a name="l00361"></a><span class="lineno"> 361</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <a class="code" href="classicu_1_1AlphabeticIndex_1_1ImmutableIndex.html" title="Immutable, thread-safe version of AlphabeticIndex.">ImmutableIndex</a> *buildImmutableIndex(<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> &errorCode);</div> <div class="line"><a name="l00368"></a><span class="lineno"> 368</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_DRAFT_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00369"></a><span class="lineno"> 369</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1RuleBasedCollator.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="l00383"></a><span class="lineno"> 383</span> </div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span> </div> <div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00394"></a><span class="lineno"> 394</span> </div> <div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1UnicodeString.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="l00407"></a><span class="lineno"> 407</span> </div> <div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00417"></a><span class="lineno"> 417</span> </div> <div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div> <div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1UnicodeString.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="l00429"></a><span class="lineno"> 429</span> </div> <div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00438"></a><span class="lineno"> 438</span> </div> <div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1UnicodeString.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="l00449"></a><span class="lineno"> 449</span> </div> <div class="line"><a name="l00450"></a><span class="lineno"> 450</span> </div> <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keyword">virtual</span> int32_t getMaxLabelCount() <span class="keyword">const</span>;</div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span> </div> <div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="l00473"></a><span class="lineno"> 473</span> </div> <div class="line"><a name="l00474"></a><span class="lineno"> 474</span> </div> <div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1UnicodeString.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="l00492"></a><span class="lineno"> 492</span> </div> <div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="l00502"></a><span class="lineno"> 502</span> </div> <div class="line"><a name="l00503"></a><span class="lineno"> 503</span> </div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</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="l00513"></a><span class="lineno"> 513</span> </div> <div class="line"><a name="l00514"></a><span class="lineno"> 514</span> </div> <div class="line"><a name="l00523"></a><span class="lineno"> 523</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="l00524"></a><span class="lineno"> 524</span> </div> <div class="line"><a name="l00525"></a><span class="lineno"> 525</span> </div> <div class="line"><a name="l00526"></a><span class="lineno"> 526</span> </div> <div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <span class="keyword">virtual</span> int32_t getBucketIndex(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00540"></a><span class="lineno"> 540</span> </div> <div class="line"><a name="l00541"></a><span class="lineno"> 541</span> </div> <div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  <span class="keyword">virtual</span> int32_t getBucketIndex() <span class="keyword">const</span>;</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> </div> <div class="line"><a name="l00562"></a><span class="lineno"> 562</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="l00563"></a><span class="lineno"> 563</span> </div> <div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00573"></a><span class="lineno"> 573</span> </div> <div class="line"><a name="l00581"></a><span class="lineno"> 581</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="l00582"></a><span class="lineno"> 582</span> </div> <div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keyword">virtual</span> int32_t getBucketRecordCount() <span class="keyword">const</span>;</div> <div class="line"><a name="l00592"></a><span class="lineno"> 592</span> </div> <div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div> <div class="line"><a name="l00602"></a><span class="lineno"> 602</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="l00603"></a><span class="lineno"> 603</span> </div> <div class="line"><a name="l00615"></a><span class="lineno"> 615</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="l00616"></a><span class="lineno"> 616</span> </div> <div class="line"><a name="l00625"></a><span class="lineno"> 625</span>  <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00626"></a><span class="lineno"> 626</span> </div> <div class="line"><a name="l00627"></a><span class="lineno"> 627</span> </div> <div class="line"><a name="l00636"></a><span class="lineno"> 636</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="l00637"></a><span class="lineno"> 637</span> </div> <div class="line"><a name="l00638"></a><span class="lineno"> 638</span> </div> <div class="line"><a name="l00645"></a><span class="lineno"> 645</span>  <span class="keyword">virtual</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a> &resetRecordIterator();</div> <div class="line"><a name="l00646"></a><span class="lineno"> 646</span> </div> <div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00652"></a><span class="lineno"> 652</span>  <a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="AlphabeticIndex supports the creation of a UI index appropriate for a given language.">AlphabeticIndex</a> &other);</div> <div class="line"><a name="l00653"></a><span class="lineno"> 653</span> </div> <div class="line"><a name="l00657"></a><span class="lineno"> 657</span>  <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="classicu_1_1AlphabeticIndex.html" title="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="l00658"></a><span class="lineno"> 658</span> </div> <div class="line"><a name="l00663"></a><span class="lineno"> 663</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="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0" title="Global operator == for StringPiece.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="l00664"></a><span class="lineno"> 664</span> </div> <div class="line"><a name="l00669"></a><span class="lineno"> 669</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="namespaceicu.html#ae44c6e373e08014d12f6a4d51ca96b0e" title="Global operator != for StringPiece.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1AlphabeticIndex.html" title="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="l00670"></a><span class="lineno"> 670</span> </div> <div class="line"><a name="l00671"></a><span class="lineno"> 671</span>  <span class="comment">// Common initialization, for use from all constructors.</span></div> <div class="line"><a name="l00672"></a><span class="lineno"> 672</span>  <span class="keywordtype">void</span> init(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.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="l00673"></a><span class="lineno"> 673</span> </div> <div class="line"><a name="l00678"></a><span class="lineno"> 678</span>  <span class="keywordtype">void</span> addIndexExemplars(<span class="keyword">const</span> <a class="code" href="classicu_1_1Locale.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="l00682"></a><span class="lineno"> 682</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> addChineseIndexCharacters(<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> &errorCode);</div> <div class="line"><a name="l00683"></a><span class="lineno"> 683</span> </div> <div class="line"><a name="l00684"></a><span class="lineno"> 684</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="l00685"></a><span class="lineno"> 685</span> </div> <div class="line"><a name="l00686"></a><span class="lineno"> 686</span>  <span class="keyword">static</span> <a class="code" href="classicu_1_1UnicodeString.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="classicu_1_1UnicodeString.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="l00687"></a><span class="lineno"> 687</span> </div> <div class="line"><a name="l00693"></a><span class="lineno"> 693</span>  <span class="keywordtype">void</span> initLabels(UVector &indexCharacters, <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> &errorCode) <span class="keyword">const</span>;</div> <div class="line"><a name="l00694"></a><span class="lineno"> 694</span>  BucketList *createBucketList(<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> &errorCode) <span class="keyword">const</span>;</div> <div class="line"><a name="l00695"></a><span class="lineno"> 695</span>  <span class="keywordtype">void</span> initBuckets(<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> &errorCode);</div> <div class="line"><a name="l00696"></a><span class="lineno"> 696</span>  <span class="keywordtype">void</span> clearBuckets();</div> <div class="line"><a name="l00697"></a><span class="lineno"> 697</span>  <span class="keywordtype">void</span> internalResetBucketIterator();</div> <div class="line"><a name="l00698"></a><span class="lineno"> 698</span> </div> <div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="keyword">public</span>:</div> <div class="line"><a name="l00700"></a><span class="lineno"> 700</span> </div> <div class="line"><a name="l00701"></a><span class="lineno"> 701</span>  <span class="comment">// The Record is declared public only to allow access from</span></div> <div class="line"><a name="l00702"></a><span class="lineno"> 702</span>  <span class="comment">// implementation code written in plain C.</span></div> <div class="line"><a name="l00703"></a><span class="lineno"> 703</span>  <span class="comment">// It is not intended for public use.</span></div> <div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div> <div class="line"><a name="l00705"></a><span class="lineno"> 705</span> <span class="preprocessor">#ifndef U_HIDE_INTERNAL_API</span></div> <div class="line"><a name="l00706"></a><span class="lineno"> 706</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00711"></a><span class="lineno"><a class="code" href="structicu_1_1AlphabeticIndex_1_1Record.html"> 711</a></span>  <span class="keyword">struct </span><a class="code" href="structicu_1_1AlphabeticIndex_1_1Record.html" title="A (name, data) pair, to be sorted by name into one of the index buckets.">Record</a>: <span class="keyword">public</span> <a class="code" href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class.">UMemory</a> {</div> <div class="line"><a name="l00712"></a><span class="lineno"> 712</span>  <span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00713"></a><span class="lineno"> 713</span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *data_;</div> <div class="line"><a name="l00714"></a><span class="lineno"> 714</span>  <a class="code" href="structicu_1_1AlphabeticIndex_1_1Record.html" title="A (name, data) pair, to be sorted by name into one of the index buckets.">Record</a>(<span class="keyword">const</span> <a class="code" href="classicu_1_1UnicodeString.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="l00715"></a><span class="lineno"> 715</span>  ~<a class="code" href="structicu_1_1AlphabeticIndex_1_1Record.html" title="A (name, data) pair, to be sorted by name into one of the index buckets.">Record</a>();</div> <div class="line"><a name="l00716"></a><span class="lineno"> 716</span>  };</div> <div class="line"><a name="l00717"></a><span class="lineno"> 717</span> <span class="preprocessor">#endif </span><span class="comment">/* U_HIDE_INTERNAL_API */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00718"></a><span class="lineno"> 718</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00719"></a><span class="lineno"> 719</span> <span class="keyword">private</span>:</div> <div class="line"><a name="l00720"></a><span class="lineno"> 720</span> </div> <div class="line"><a name="l00726"></a><span class="lineno"> 726</span>  UVector *inputList_;</div> <div class="line"><a name="l00727"></a><span class="lineno"> 727</span> </div> <div class="line"><a name="l00728"></a><span class="lineno"> 728</span>  int32_t labelsIterIndex_; <span class="comment">// Index of next item to return.</span></div> <div class="line"><a name="l00729"></a><span class="lineno"> 729</span>  int32_t itemsIterIndex_;</div> <div class="line"><a name="l00730"></a><span class="lineno"> 730</span>  <a class="code" href="classicu_1_1AlphabeticIndex_1_1Bucket.html" title="An index "bucket" with a label string and type.">Bucket</a> *currentBucket_; <span class="comment">// While an iteration of the index in underway,</span></div> <div class="line"><a name="l00731"></a><span class="lineno"> 731</span>  <span class="comment">// point to the bucket for the current label.</span></div> <div class="line"><a name="l00732"></a><span class="lineno"> 732</span>  <span class="comment">// NULL when no iteration underway.</span></div> <div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div> <div class="line"><a name="l00734"></a><span class="lineno"> 734</span>  int32_t maxLabelCount_; <span class="comment">// Limit on # of labels permitted in the index.</span></div> <div class="line"><a name="l00735"></a><span class="lineno"> 735</span> </div> <div class="line"><a name="l00736"></a><span class="lineno"> 736</span>  <a class="code" href="classicu_1_1UnicodeSet.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="l00737"></a><span class="lineno"> 737</span>  <span class="comment">// of those explicitly set by the user plus</span></div> <div class="line"><a name="l00738"></a><span class="lineno"> 738</span>  <span class="comment">// those from locales. Raw values, before</span></div> <div class="line"><a name="l00739"></a><span class="lineno"> 739</span>  <span class="comment">// crunching into bucket labels.</span></div> <div class="line"><a name="l00740"></a><span class="lineno"> 740</span> </div> <div class="line"><a name="l00741"></a><span class="lineno"> 741</span>  UVector *firstCharsInScripts_; <span class="comment">// The first character from each script,</span></div> <div class="line"><a name="l00742"></a><span class="lineno"> 742</span>  <span class="comment">// in collation order.</span></div> <div class="line"><a name="l00743"></a><span class="lineno"> 743</span> </div> <div class="line"><a name="l00744"></a><span class="lineno"> 744</span>  <a class="code" href="classicu_1_1RuleBasedCollator.html" title="The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...">RuleBasedCollator</a> *collator_;</div> <div class="line"><a name="l00745"></a><span class="lineno"> 745</span>  <a class="code" href="classicu_1_1RuleBasedCollator.html" title="The RuleBasedCollator class provides the simple implementation of Collator, using data-driven tables...">RuleBasedCollator</a> *collatorPrimaryOnly_;</div> <div class="line"><a name="l00746"></a><span class="lineno"> 746</span> </div> <div class="line"><a name="l00747"></a><span class="lineno"> 747</span>  <span class="comment">// Lazy evaluated: null means that we have not built yet.</span></div> <div class="line"><a name="l00748"></a><span class="lineno"> 748</span>  BucketList *buckets_;</div> <div class="line"><a name="l00749"></a><span class="lineno"> 749</span> </div> <div class="line"><a name="l00750"></a><span class="lineno"> 750</span>  <a class="code" href="classicu_1_1UnicodeString.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="l00751"></a><span class="lineno"> 751</span>  <a class="code" href="classicu_1_1UnicodeString.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="l00752"></a><span class="lineno"> 752</span>  <a class="code" href="classicu_1_1UnicodeString.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="l00753"></a><span class="lineno"> 753</span>  <a class="code" href="classicu_1_1UnicodeString.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="l00754"></a><span class="lineno"> 754</span> </div> <div class="line"><a name="l00755"></a><span class="lineno"> 755</span>  <a class="code" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> emptyString_;</div> <div class="line"><a name="l00756"></a><span class="lineno"> 756</span> };</div> <div class="line"><a name="l00757"></a><span class="lineno"> 757</span> </div> <div class="line"><a name="l00758"></a><span class="lineno"> 758</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="l00759"></a><span class="lineno"> 759</span> </div> <div class="line"><a name="l00760"></a><span class="lineno"> 760</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="l00761"></a><span class="lineno"> 761</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 on Fri Oct 4 2013 14:10:21 for ICU 52.1 by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.1.2 </small></address> </body> </html>