<!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: uiter.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_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.html">unicode</a></li> </ul> </div> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">uiter.h</div> </div> </div><!--header--> <div class="contents"> <a href="uiter_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) 2002-2011 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">* file name: uiter.h</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">* encoding: US-ASCII</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">* tab size: 8 (not used)</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">* indentation:4</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">*</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* created on: 2002jan18</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">* created by: Markus W. Scherer</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">*/</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> <span class="preprocessor">#ifndef __UITER_H__</span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor"></span><span class="preprocessor">#define __UITER_H__</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00027"></a><span class="lineno"> 27</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="l00028"></a><span class="lineno"> 28</span> </div> <div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="preprocessor"></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="l00031"></a><span class="lineno"> 31</span> </div> <div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keyword">class </span>CharacterIterator;</div> <div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keyword">class </span>Replaceable;</div> <div class="line"><a name="l00034"></a><span class="lineno"> 34</span> </div> <div class="line"><a name="l00035"></a><span class="lineno"> 35</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="l00036"></a><span class="lineno"> 36</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00038"></a><span class="lineno"> 38</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="l00039"></a><span class="lineno"> 39</span> </div> <div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">struct </span><a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a>;</div> <div class="line"><a name="l00041"></a><span class="lineno"><a class="code" href="uiter_8h.html#a7be461ccdd9257329604393ce0ab982f"> 41</a></span> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> <a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a>; </div> <div class="line"><a name="l00049"></a><span class="lineno"><a class="code" href="uiter_8h.html#acb93256d32b49b35a49affe3db4e5766"> 49</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> <a class="code" href="uiter_8h.html#acb93256d32b49b35a49affe3db4e5766" title="Origin constants for UCharIterator.getIndex() and UCharIterator.move().">UCharIteratorOrigin</a> {</div> <div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  UITER_START, UITER_CURRENT, UITER_LIMIT, UITER_ZERO, UITER_LENGTH</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> } <a class="code" href="uiter_8h.html#acb93256d32b49b35a49affe3db4e5766" title="Origin constants for UCharIterator.getIndex() and UCharIterator.move().">UCharIteratorOrigin</a>;</div> <div class="line"><a name="l00052"></a><span class="lineno"> 52</span> </div> <div class="line"><a name="l00054"></a><span class="lineno"> 54</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00069"></a><span class="lineno"><a class="code" href="uiter_8h.html#abed82baf7f470b522273a3e37c24c600ac15b49df57fe9ae213b64ef3fc05fd3a"> 69</a></span>  <a class="code" href="uiter_8h.html#abed82baf7f470b522273a3e37c24c600ac15b49df57fe9ae213b64ef3fc05fd3a" title="Constant value that may be returned by UCharIteratorMove indicating that the final UTF-16 index is no...">UITER_UNKNOWN_INDEX</a>=-2</div> <div class="line"><a name="l00070"></a><span class="lineno"> 70</span> };</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> </div> <div class="line"><a name="l00084"></a><span class="lineno"><a class="code" href="uiter_8h.html#aafcf208dc06e96d1a48221de2cd96f21"> 84</a></span> <span class="preprocessor">#define UITER_NO_STATE ((uint32_t)0xffffffff)</span></div> <div class="line"><a name="l00085"></a><span class="lineno"> 85</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="keyword">typedef</span> int32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00105"></a><span class="lineno"><a class="code" href="uiter_8h.html#a2c5cdcc035b270eecd9fefd3a8e61eb6"> 105</a></span> <a class="code" href="uiter_8h.html#a2c5cdcc035b270eecd9fefd3a8e61eb6" title="Function type declaration for UCharIterator.getIndex().">UCharIteratorGetIndex</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, <a class="code" href="uiter_8h.html#acb93256d32b49b35a49affe3db4e5766" title="Origin constants for UCharIterator.getIndex() and UCharIterator.move().">UCharIteratorOrigin</a> origin);</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span> </div> <div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="keyword">typedef</span> int32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00142"></a><span class="lineno"><a class="code" href="uiter_8h.html#a96e7ff26382bff30b61e04129dcba777"> 142</a></span> <a class="code" href="uiter_8h.html#a96e7ff26382bff30b61e04129dcba777" title="Function type declaration for UCharIterator.move().">UCharIteratorMove</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, int32_t delta, <a class="code" href="uiter_8h.html#acb93256d32b49b35a49affe3db4e5766" title="Origin constants for UCharIterator.getIndex() and UCharIterator.move().">UCharIteratorOrigin</a> origin);</div> <div class="line"><a name="l00143"></a><span class="lineno"> 143</span> </div> <div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="keyword">typedef</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00157"></a><span class="lineno"><a class="code" href="uiter_8h.html#aa64ffc5487dbe1d707c3761bf49ea290"> 157</a></span> <a class="code" href="uiter_8h.html#aa64ffc5487dbe1d707c3761bf49ea290" title="Function type declaration for UCharIterator.hasNext().">UCharIteratorHasNext</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00158"></a><span class="lineno"> 158</span> </div> <div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="keyword">typedef</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00171"></a><span class="lineno"><a class="code" href="uiter_8h.html#a2972212270826ec6cc2469e7e757a99b"> 171</a></span> <a class="code" href="uiter_8h.html#a2972212270826ec6cc2469e7e757a99b" title="Function type declaration for UCharIterator.hasPrevious().">UCharIteratorHasPrevious</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  </div> <div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="keyword">typedef</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00186"></a><span class="lineno"><a class="code" href="uiter_8h.html#a1f6bcc32677477c92a0ca50c9758d209"> 186</a></span> <a class="code" href="uiter_8h.html#a1f6bcc32677477c92a0ca50c9758d209" title="Function type declaration for UCharIterator.current().">UCharIteratorCurrent</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> <div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="keyword">typedef</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00202"></a><span class="lineno"><a class="code" href="uiter_8h.html#a376c5501f8368974019bd238df5bf25f"> 202</a></span> <a class="code" href="uiter_8h.html#a376c5501f8368974019bd238df5bf25f" title="Function type declaration for UCharIterator.next().">UCharIteratorNext</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00203"></a><span class="lineno"> 203</span> </div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="keyword">typedef</span> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00218"></a><span class="lineno"><a class="code" href="uiter_8h.html#aa264f21cccaadf857e2ffe8466275305"> 218</a></span> <a class="code" href="uiter_8h.html#aa264f21cccaadf857e2ffe8466275305" title="Function type declaration for UCharIterator.previous().">UCharIteratorPrevious</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00219"></a><span class="lineno"> 219</span> </div> <div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="keyword">typedef</span> int32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00232"></a><span class="lineno"><a class="code" href="uiter_8h.html#acafec86a399b523670cc7575b7c070f6"> 232</a></span> <a class="code" href="uiter_8h.html#acafec86a399b523670cc7575b7c070f6" title="Function type declaration for UCharIterator.reservedFn().">UCharIteratorReserved</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, int32_t something);</div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> <div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="keyword">typedef</span> uint32_t <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00279"></a><span class="lineno"><a class="code" href="uiter_8h.html#a7e5c6a58e984e535dee8f7a76be33598"> 279</a></span> <a class="code" href="uiter_8h.html#a7e5c6a58e984e535dee8f7a76be33598" title="Function type declaration for UCharIterator.getState().">UCharIteratorGetState</a>(<span class="keyword">const</span> <a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div> <div class="line"><a name="l00306"></a><span class="lineno"> 306</span> <span class="keyword">typedef</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a1fae478cb5a46c7e4a0673d267626696" title="Similar to U_CDECL_BEGIN/U_CDECL_END, this qualifier is necessary in callback function typedefs to ma...">U_CALLCONV</a></div> <div class="line"><a name="l00307"></a><span class="lineno"><a class="code" href="uiter_8h.html#a092db422640fc07b956d72f0f03fe9c3"> 307</a></span> <a class="code" href="uiter_8h.html#a092db422640fc07b956d72f0f03fe9c3" title="Function type declaration for UCharIterator.setState().">UCharIteratorSetState</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, uint32_t state, <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> *pErrorCode);</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> </div> <div class="line"><a name="l00339"></a><span class="lineno"><a class="code" href="structUCharIterator.html"> 339</a></span> <span class="keyword">struct </span><a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> {</div> <div class="line"><a name="l00345"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a33f323cfae0faa809f047874d2021fe6"> 345</a></span>  <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="structUCharIterator.html#a33f323cfae0faa809f047874d2021fe6" title="(protected) Pointer to string or wrapped object or similar.">context</a>;</div> <div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div> <div class="line"><a name="l00352"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a52856eb702c1198d0d49e8a4de0d8629"> 352</a></span>  int32_t <a class="code" href="structUCharIterator.html#a52856eb702c1198d0d49e8a4de0d8629" title="(protected) Length of string or similar.">length</a>;</div> <div class="line"><a name="l00353"></a><span class="lineno"> 353</span> </div> <div class="line"><a name="l00359"></a><span class="lineno"><a class="code" href="structUCharIterator.html#acbc6d2bf546d7e98744e2f0d776bec72"> 359</a></span>  int32_t <a class="code" href="structUCharIterator.html#acbc6d2bf546d7e98744e2f0d776bec72" title="(protected) Start index or similar.">start</a>;</div> <div class="line"><a name="l00360"></a><span class="lineno"> 360</span> </div> <div class="line"><a name="l00366"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a1dcd0ca0875b1be0ba2f399c6920e6fa"> 366</a></span>  int32_t <a class="code" href="structUCharIterator.html#a1dcd0ca0875b1be0ba2f399c6920e6fa" title="(protected) Current index or similar.">index</a>;</div> <div class="line"><a name="l00367"></a><span class="lineno"> 367</span> </div> <div class="line"><a name="l00373"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a68042932fad8301133ef8bc82f901305"> 373</a></span>  int32_t <a class="code" href="structUCharIterator.html#a68042932fad8301133ef8bc82f901305" title="(protected) Limit index or similar.">limit</a>;</div> <div class="line"><a name="l00374"></a><span class="lineno"> 374</span> </div> <div class="line"><a name="l00379"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a5d28abc1c284a02d887651c0594d2181"> 379</a></span>  int32_t <a class="code" href="structUCharIterator.html#a5d28abc1c284a02d887651c0594d2181" title="(protected) Used by UTF-8 iterators and possibly others.">reservedField</a>;</div> <div class="line"><a name="l00380"></a><span class="lineno"> 380</span> </div> <div class="line"><a name="l00388"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a3d8274db3ff99ebb6bb2d0784c9cd7ca"> 388</a></span>  <a class="code" href="uiter_8h.html#a2c5cdcc035b270eecd9fefd3a8e61eb6" title="Function type declaration for UCharIterator.getIndex().">UCharIteratorGetIndex</a> *<a class="code" href="structUCharIterator.html#a3d8274db3ff99ebb6bb2d0784c9cd7ca" title="(public) Returns the current position or the start or limit index of the iteration range...">getIndex</a>;</div> <div class="line"><a name="l00389"></a><span class="lineno"> 389</span> </div> <div class="line"><a name="l00399"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a085355b29925cbf9170e364e9aef7bc5"> 399</a></span>  <a class="code" href="uiter_8h.html#a96e7ff26382bff30b61e04129dcba777" title="Function type declaration for UCharIterator.move().">UCharIteratorMove</a> *<a class="code" href="structUCharIterator.html#a085355b29925cbf9170e364e9aef7bc5" title="(public) Moves the current position relative to the start or limit of the iteration range...">move</a>;</div> <div class="line"><a name="l00400"></a><span class="lineno"> 400</span> </div> <div class="line"><a name="l00408"></a><span class="lineno"><a class="code" href="structUCharIterator.html#ac6dc92d309ace93dc07ad9092e807578"> 408</a></span>  <a class="code" href="uiter_8h.html#aa64ffc5487dbe1d707c3761bf49ea290" title="Function type declaration for UCharIterator.hasNext().">UCharIteratorHasNext</a> *<a class="code" href="structUCharIterator.html#ac6dc92d309ace93dc07ad9092e807578" title="(public) Check if current() and next() can still return another code unit.">hasNext</a>;</div> <div class="line"><a name="l00409"></a><span class="lineno"> 409</span> </div> <div class="line"><a name="l00416"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a5a5d536cc7275cdba8b6b2487a4f75a6"> 416</a></span>  <a class="code" href="uiter_8h.html#a2972212270826ec6cc2469e7e757a99b" title="Function type declaration for UCharIterator.hasPrevious().">UCharIteratorHasPrevious</a> *<a class="code" href="structUCharIterator.html#a5a5d536cc7275cdba8b6b2487a4f75a6" title="(public) Check if previous() can still return another code unit.">hasPrevious</a>;</div> <div class="line"><a name="l00417"></a><span class="lineno"> 417</span> </div> <div class="line"><a name="l00425"></a><span class="lineno"><a class="code" href="structUCharIterator.html#ac247dee1b3e3e6fec6688f9dcb5bc1c6"> 425</a></span>  <a class="code" href="uiter_8h.html#a1f6bcc32677477c92a0ca50c9758d209" title="Function type declaration for UCharIterator.current().">UCharIteratorCurrent</a> *<a class="code" href="structUCharIterator.html#ac247dee1b3e3e6fec6688f9dcb5bc1c6" title="(public) Return the code unit at the current position, or U_SENTINEL if there is none (index is at th...">current</a>;</div> <div class="line"><a name="l00426"></a><span class="lineno"> 426</span> </div> <div class="line"><a name="l00435"></a><span class="lineno"><a class="code" href="structUCharIterator.html#aae26243728a62e6a13ed2008972afb50"> 435</a></span>  <a class="code" href="uiter_8h.html#a376c5501f8368974019bd238df5bf25f" title="Function type declaration for UCharIterator.next().">UCharIteratorNext</a> *<a class="code" href="structUCharIterator.html#aae26243728a62e6a13ed2008972afb50" title="(public) Return the code unit at the current index and increment the index (post-increment, like s[i++]), or return U_SENTINEL if there is none (index is at the limit).">next</a>;</div> <div class="line"><a name="l00436"></a><span class="lineno"> 436</span> </div> <div class="line"><a name="l00445"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a65cd2a527c6abe69a0f37a368ce51cfb"> 445</a></span>  <a class="code" href="uiter_8h.html#aa264f21cccaadf857e2ffe8466275305" title="Function type declaration for UCharIterator.previous().">UCharIteratorPrevious</a> *<a class="code" href="structUCharIterator.html#a65cd2a527c6abe69a0f37a368ce51cfb" title="(public) Decrement the index and return the code unit from there (pre-decrement, like s[–i])...">previous</a>;</div> <div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div> <div class="line"><a name="l00453"></a><span class="lineno"><a class="code" href="structUCharIterator.html#a94b7ab71aadd2cbafa7394c1102cdf2f"> 453</a></span>  <a class="code" href="uiter_8h.html#acafec86a399b523670cc7575b7c070f6" title="Function type declaration for UCharIterator.reservedFn().">UCharIteratorReserved</a> *<a class="code" href="structUCharIterator.html#a94b7ab71aadd2cbafa7394c1102cdf2f" title="(public) Reserved for future use.">reservedFn</a>;</div> <div class="line"><a name="l00454"></a><span class="lineno"> 454</span> </div> <div class="line"><a name="l00462"></a><span class="lineno"><a class="code" href="structUCharIterator.html#adbdac3a7450c4b9344aad58b1e72d1b4"> 462</a></span>  <a class="code" href="uiter_8h.html#a7e5c6a58e984e535dee8f7a76be33598" title="Function type declaration for UCharIterator.getState().">UCharIteratorGetState</a> *<a class="code" href="structUCharIterator.html#adbdac3a7450c4b9344aad58b1e72d1b4" title="(public) Return the state of the iterator, to be restored later with setState().">getState</a>;</div> <div class="line"><a name="l00463"></a><span class="lineno"> 463</span> </div> <div class="line"><a name="l00472"></a><span class="lineno"><a class="code" href="structUCharIterator.html#ad216d787e1125bc81b49686c7700b52f"> 472</a></span>  <a class="code" href="uiter_8h.html#a092db422640fc07b956d72f0f03fe9c3" title="Function type declaration for UCharIterator.setState().">UCharIteratorSetState</a> *<a class="code" href="structUCharIterator.html#ad216d787e1125bc81b49686c7700b52f" title="(public) Restore the iterator state from the state word from a call to getState().">setState</a>;</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="l00493"></a><span class="lineno"> 493</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00494"></a><span class="lineno"> 494</span> <a class="code" href="uiter_8h.html#a126d33b7d879ca2f8427004116c0340b" title="Helper function for UCharIterator to get the code point at the current index.">uiter_current32</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00495"></a><span class="lineno"> 495</span> </div> <div class="line"><a name="l00510"></a><span class="lineno"> 510</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00511"></a><span class="lineno"> 511</span> <a class="code" href="uiter_8h.html#a5f5c726c5eba7d3c8fbc7238562be0cf" title="Helper function for UCharIterator to get the next code point.">uiter_next32</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div> <div class="line"><a name="l00527"></a><span class="lineno"> 527</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> U_EXPORT2</div> <div class="line"><a name="l00528"></a><span class="lineno"> 528</span> <a class="code" href="uiter_8h.html#a9225fa4316a792ba1585fc2ea8197afb" title="Helper function for UCharIterator to get the previous code point.">uiter_previous32</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00529"></a><span class="lineno"> 529</span> </div> <div class="line"><a name="l00548"></a><span class="lineno"> 548</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> uint32_t U_EXPORT2</div> <div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <a class="code" href="uiter_8h.html#a561ede314e6f46cd7662a0f309f9b18a" title="Get the "state" of the iterator in the form of a single 32-bit word.">uiter_getState</a>(<span class="keyword">const</span> <a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter);</div> <div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div> <div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <a class="code" href="uiter_8h.html#a6cc978207c5f99588d5b915b7c85ebd1" title="Restore the "state" of the iterator using a state word from a getState() call.">uiter_setState</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, uint32_t state, <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> *pErrorCode);</div> <div class="line"><a name="l00568"></a><span class="lineno"> 568</span> </div> <div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <a class="code" href="uiter_8h.html#a373dbf81553f2f3553b64c31e3c6147f" title="Set up a UCharIterator to iterate over a string.">uiter_setString</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...">UChar</a> *s, int32_t length);</div> <div class="line"><a name="l00593"></a><span class="lineno"> 593</span> </div> <div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <a class="code" href="uiter_8h.html#a91a1ae4d9d562077b5c06d7ba75c7ebd" title="Set up a UCharIterator to iterate over a UTF-16BE string (byte vector with a big-endian pair of bytes...">uiter_setUTF16BE</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, <span class="keyword">const</span> <span class="keywordtype">char</span> *s, int32_t length);</div> <div class="line"><a name="l00616"></a><span class="lineno"> 616</span> </div> <div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <a class="code" href="uiter_8h.html#aa221e8b7a4eb6f47ff03c80a09ae8a02" title="Set up a UCharIterator to iterate over a UTF-8 string.">uiter_setUTF8</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, <span class="keyword">const</span> <span class="keywordtype">char</span> *s, int32_t length);</div> <div class="line"><a name="l00652"></a><span class="lineno"> 652</span> </div> <div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor">#if U_SHOW_CPLUSPLUS_API</span></div> <div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00675"></a><span class="lineno"> 675</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <a class="code" href="uiter_8h.html#a8f6ca82c20ddc7f9844d0be7710b244d" title="Set up a UCharIterator to wrap around a C++ CharacterIterator.">uiter_setCharacterIterator</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, <a class="code" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">icu::CharacterIterator</a> *charIter);</div> <div class="line"><a name="l00677"></a><span class="lineno"> 677</span> </div> <div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98" title="This is used to declare a function as a stable public ICU C API.">U_STABLE</a> <span class="keywordtype">void</span> U_EXPORT2</div> <div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <a class="code" href="uiter_8h.html#a3c85ed2666d501ece8075158efdbeef6" title="Set up a UCharIterator to iterate over a C++ Replaceable.">uiter_setReplaceable</a>(<a class="code" href="structUCharIterator.html" title="C API for code unit iteration.">UCharIterator</a> *iter, <span class="keyword">const</span> <a class="code" href="classicu_1_1Replaceable.html" title="Replaceable is an abstract base class representing a string of characters that supports the replaceme...">icu::Replaceable</a> *rep);</div> <div class="line"><a name="l00702"></a><span class="lineno"> 702</span> </div> <div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="preprocessor">#endif</span></div> <div class="line"><a name="l00704"></a><span class="lineno"> 704</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00705"></a><span class="lineno"> 705</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="l00706"></a><span class="lineno"> 706</span> </div> <div class="line"><a name="l00707"></a><span class="lineno"> 707</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>