Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates > by-pkgid > 67d6f1fcdf59eeb6f1363fc33c40091c > files > 73

icu-doc-53.1-12.6.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ICU 53.1: icu::CharacterIterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ICU 53.1
   &#160;<span id="projectnumber">53.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceicu.html">icu</a></li><li class="navelem"><a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a>  </div>
  <div class="headertitle">
<div class="title">icu::CharacterIterator Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

<p>Abstract class that defines an API for iteration on text objects.  
 <a href="classicu_1_1CharacterIterator.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="chariter_8h_source.html">chariter.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for icu::CharacterIterator:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classicu_1_1CharacterIterator.png" usemap="#icu::CharacterIterator_map" alt=""/>
  <map id="icu::CharacterIterator_map" name="icu::CharacterIterator_map">
<area href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. " alt="icu::ForwardCharacterIterator" shape="rect" coords="0,112,180,136"/>
<area href="classicu_1_1UObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class. " alt="icu::UObject" shape="rect" coords="0,56,180,80"/>
<area href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class. " alt="icu::UMemory" shape="rect" coords="0,0,180,24"/>
<area href="classicu_1_1UCharCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code units or code points..." alt="icu::UCharCharacterIterator" shape="rect" coords="0,224,180,248"/>
<area href="classicu_1_1StringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code units or code points..." alt="icu::StringCharacterIterator" shape="rect" coords="0,280,180,304"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a065aff1d713f7659faba4951d16f5f38"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">EOrigin</a> { <b>kStart</b>, 
<b>kCurrent</b>, 
<b>kEnd</b>
 }</td></tr>
<tr class="memdesc:a065aff1d713f7659faba4951d16f5f38"><td class="mdescLeft">&#160;</td><td class="mdescRight">Origin enumeration for the <a class="el" href="classicu_1_1CharacterIterator.html#a37e9b91a0bd0e9dde2761b603560da9d" title="Moves the current position relative to the start or end of the iteration range, or relative to the cu...">move()</a> and <a class="el" href="classicu_1_1CharacterIterator.html#aac9a417f50cd4d741da7fac3429dad0d" title="Moves the current position relative to the start or end of the iteration range, or relative to the cu...">move32()</a> functions.  <a href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">More...</a><br/></td></tr>
<tr class="separator:a065aff1d713f7659faba4951d16f5f38"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classicu_1_1ForwardCharacterIterator"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classicu_1_1ForwardCharacterIterator')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classicu_1_1ForwardCharacterIterator.html">icu::ForwardCharacterIterator</a></td></tr>
<tr class="memitem:adbacb49f483a870aefb8e518cc8105c7 inherit pub_types_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>DONE</b> = 0xffff
 }</td></tr>
<tr class="memdesc:adbacb49f483a870aefb8e518cc8105c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value returned by most of <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a>'s functions when the iterator has reached the limits of its iteration.  <a href="classicu_1_1ForwardCharacterIterator.html#adbacb49f483a870aefb8e518cc8105c7">More...</a><br/></td></tr>
<tr class="separator:adbacb49f483a870aefb8e518cc8105c7 inherit pub_types_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6f02b160cc84f55de41adc72cbb9b9ed"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a6f02b160cc84f55de41adc72cbb9b9ed">~CharacterIterator</a> ()</td></tr>
<tr class="memdesc:a6f02b160cc84f55de41adc72cbb9b9ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a6f02b160cc84f55de41adc72cbb9b9ed">More...</a><br/></td></tr>
<tr class="separator:a6f02b160cc84f55de41adc72cbb9b9ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b3d69e0cbc3a22f7fc87f78b78c7ca2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a8b3d69e0cbc3a22f7fc87f78b78c7ca2">clone</a> (void) const =0</td></tr>
<tr class="memdesc:a8b3d69e0cbc3a22f7fc87f78b78c7ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a pointer to a new <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> of the same concrete class as this one, and referring to the same character in the same text-storage object as this one.  <a href="#a8b3d69e0cbc3a22f7fc87f78b78c7ca2">More...</a><br/></td></tr>
<tr class="separator:a8b3d69e0cbc3a22f7fc87f78b78c7ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2434e2d9d5436d1e17c093f5d39ef9eb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a2434e2d9d5436d1e17c093f5d39ef9eb">first</a> (void)=0</td></tr>
<tr class="memdesc:a2434e2d9d5436d1e17c093f5d39ef9eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit.  <a href="#a2434e2d9d5436d1e17c093f5d39ef9eb">More...</a><br/></td></tr>
<tr class="separator:a2434e2d9d5436d1e17c093f5d39ef9eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e17d5547a23329c13429024cae7271a"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a1e17d5547a23329c13429024cae7271a">firstPostInc</a> (void)</td></tr>
<tr class="memdesc:a1e17d5547a23329c13429024cae7271a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the first code unit in its iteration range, returns that code unit, and moves the position to the second code unit.  <a href="#a1e17d5547a23329c13429024cae7271a">More...</a><br/></td></tr>
<tr class="separator:a1e17d5547a23329c13429024cae7271a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89548cc913bf599865c9098638a9c2e7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a89548cc913bf599865c9098638a9c2e7">first32</a> (void)=0</td></tr>
<tr class="memdesc:a89548cc913bf599865c9098638a9c2e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a6e9a84b89a0d3fe7aae189f744576b00" title="Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...">next32()</a>.  <a href="#a89548cc913bf599865c9098638a9c2e7">More...</a><br/></td></tr>
<tr class="separator:a89548cc913bf599865c9098638a9c2e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10b0383da1187bb22b46412ca46da1f4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a10b0383da1187bb22b46412ca46da1f4">first32PostInc</a> (void)</td></tr>
<tr class="memdesc:a10b0383da1187bb22b46412ca46da1f4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point.  <a href="#a10b0383da1187bb22b46412ca46da1f4">More...</a><br/></td></tr>
<tr class="separator:a10b0383da1187bb22b46412ca46da1f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6e8c16981c7481256c50ab7145185aa"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa">setToStart</a> ()</td></tr>
<tr class="memdesc:ac6e8c16981c7481256c50ab7145185aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the first code unit or code point in its iteration range.  <a href="#ac6e8c16981c7481256c50ab7145185aa">More...</a><br/></td></tr>
<tr class="separator:ac6e8c16981c7481256c50ab7145185aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e1b89449404ca3b73798f9f8abe33e9"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a3e1b89449404ca3b73798f9f8abe33e9">last</a> (void)=0</td></tr>
<tr class="memdesc:a3e1b89449404ca3b73798f9f8abe33e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit.  <a href="#a3e1b89449404ca3b73798f9f8abe33e9">More...</a><br/></td></tr>
<tr class="separator:a3e1b89449404ca3b73798f9f8abe33e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86fc3990c224e4df431e6b93bb757298"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a86fc3990c224e4df431e6b93bb757298">last32</a> (void)=0</td></tr>
<tr class="memdesc:a86fc3990c224e4df431e6b93bb757298"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the last code point in its iteration range, and returns that code unit.  <a href="#a86fc3990c224e4df431e6b93bb757298">More...</a><br/></td></tr>
<tr class="separator:a86fc3990c224e4df431e6b93bb757298"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5cff21d4826f4f655303de8fecb5ce5"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#ac5cff21d4826f4f655303de8fecb5ce5">setToEnd</a> ()</td></tr>
<tr class="memdesc:ac5cff21d4826f4f655303de8fecb5ce5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to the end of its iteration range, just behind the last code unit or code point.  <a href="#ac5cff21d4826f4f655303de8fecb5ce5">More...</a><br/></td></tr>
<tr class="separator:ac5cff21d4826f4f655303de8fecb5ce5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a89b0d0cc85fcaad5c0e1c3e75da928"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a4a89b0d0cc85fcaad5c0e1c3e75da928">setIndex</a> (int32_t position)=0</td></tr>
<tr class="memdesc:a4a89b0d0cc85fcaad5c0e1c3e75da928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator refers to, and returns that code unit.  <a href="#a4a89b0d0cc85fcaad5c0e1c3e75da928">More...</a><br/></td></tr>
<tr class="separator:a4a89b0d0cc85fcaad5c0e1c3e75da928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8519987104888e1af043b146971b6793"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a8519987104888e1af043b146971b6793">setIndex32</a> (int32_t position)=0</td></tr>
<tr class="memdesc:a8519987104888e1af043b146971b6793"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the iterator to refer to the beginning of the code point that contains the "position"-th code unit in the text-storage object the iterator refers to, and returns that code point.  <a href="#a8519987104888e1af043b146971b6793">More...</a><br/></td></tr>
<tr class="separator:a8519987104888e1af043b146971b6793"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c40738625fe775ef8d07e166ac5ca54"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a7c40738625fe775ef8d07e166ac5ca54">current</a> (void) const =0</td></tr>
<tr class="memdesc:a7c40738625fe775ef8d07e166ac5ca54"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the code unit the iterator currently refers to.  <a href="#a7c40738625fe775ef8d07e166ac5ca54">More...</a><br/></td></tr>
<tr class="separator:a7c40738625fe775ef8d07e166ac5ca54"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a946220338dce1cb3151ef3dbd6a7c943"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a946220338dce1cb3151ef3dbd6a7c943">current32</a> (void) const =0</td></tr>
<tr class="memdesc:a946220338dce1cb3151ef3dbd6a7c943"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the code point the iterator currently refers to.  <a href="#a946220338dce1cb3151ef3dbd6a7c943">More...</a><br/></td></tr>
<tr class="separator:a946220338dce1cb3151ef3dbd6a7c943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ba065caa3c0af49f3683dcebde6000e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a5ba065caa3c0af49f3683dcebde6000e">next</a> (void)=0</td></tr>
<tr class="memdesc:a5ba065caa3c0af49f3683dcebde6000e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the next code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#acb9498db4285d26d9bfaccb73f688f65" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code unit.  <a href="#a5ba065caa3c0af49f3683dcebde6000e">More...</a><br/></td></tr>
<tr class="separator:a5ba065caa3c0af49f3683dcebde6000e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e9a84b89a0d3fe7aae189f744576b00"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a6e9a84b89a0d3fe7aae189f744576b00">next32</a> (void)=0</td></tr>
<tr class="memdesc:a6e9a84b89a0d3fe7aae189f744576b00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the next code point in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#acb9498db4285d26d9bfaccb73f688f65" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code point.  <a href="#a6e9a84b89a0d3fe7aae189f744576b00">More...</a><br/></td></tr>
<tr class="separator:a6e9a84b89a0d3fe7aae189f744576b00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a23965d8aaf700f570f97846700f607e2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a23965d8aaf700f570f97846700f607e2">previous</a> (void)=0</td></tr>
<tr class="memdesc:a23965d8aaf700f570f97846700f607e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the previous code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a997669c2389aede36fd4402cc1331310" title="Returns the numeric index in the underlying text-storage object of the character returned by first()...">startIndex()</a>), and returns that code unit.  <a href="#a23965d8aaf700f570f97846700f607e2">More...</a><br/></td></tr>
<tr class="separator:a23965d8aaf700f570f97846700f607e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa4e10820fbdb4dda83464e4bb629cbdb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb">previous32</a> (void)=0</td></tr>
<tr class="memdesc:aa4e10820fbdb4dda83464e4bb629cbdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Advances to the previous code point in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a997669c2389aede36fd4402cc1331310" title="Returns the numeric index in the underlying text-storage object of the character returned by first()...">startIndex()</a>), and returns that code point.  <a href="#aa4e10820fbdb4dda83464e4bb629cbdb">More...</a><br/></td></tr>
<tr class="separator:aa4e10820fbdb4dda83464e4bb629cbdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac83ac180f319b25a9e6ab1a80d66d928"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#ac83ac180f319b25a9e6ab1a80d66d928">hasPrevious</a> ()=0</td></tr>
<tr class="memdesc:ac83ac180f319b25a9e6ab1a80d66d928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns FALSE if there are no more code units or code points before the current position in the iteration range.  <a href="#ac83ac180f319b25a9e6ab1a80d66d928">More...</a><br/></td></tr>
<tr class="separator:ac83ac180f319b25a9e6ab1a80d66d928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a997669c2389aede36fd4402cc1331310"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a997669c2389aede36fd4402cc1331310">startIndex</a> (void) const </td></tr>
<tr class="memdesc:a997669c2389aede36fd4402cc1331310"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the numeric index in the underlying text-storage object of the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a2434e2d9d5436d1e17c093f5d39ef9eb" title="Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...">first()</a>.  <a href="#a997669c2389aede36fd4402cc1331310">More...</a><br/></td></tr>
<tr class="separator:a997669c2389aede36fd4402cc1331310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb9498db4285d26d9bfaccb73f688f65"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#acb9498db4285d26d9bfaccb73f688f65">endIndex</a> (void) const </td></tr>
<tr class="memdesc:acb9498db4285d26d9bfaccb73f688f65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the numeric index in the underlying text-storage object of the position immediately BEYOND the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a3e1b89449404ca3b73798f9f8abe33e9" title="Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...">last()</a>.  <a href="#acb9498db4285d26d9bfaccb73f688f65">More...</a><br/></td></tr>
<tr class="separator:acb9498db4285d26d9bfaccb73f688f65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a64840e056163f5ddd38dab521f81f10c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a64840e056163f5ddd38dab521f81f10c">getIndex</a> (void) const </td></tr>
<tr class="memdesc:a64840e056163f5ddd38dab521f81f10c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the numeric index in the underlying text-storage object of the character the iterator currently refers to (i.e., the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a7c40738625fe775ef8d07e166ac5ca54" title="Returns the code unit the iterator currently refers to. ">current()</a>).  <a href="#a64840e056163f5ddd38dab521f81f10c">More...</a><br/></td></tr>
<tr class="separator:a64840e056163f5ddd38dab521f81f10c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa68593f788c2eeaae5c1237191e7a2ae"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#aa68593f788c2eeaae5c1237191e7a2ae">getLength</a> () const </td></tr>
<tr class="memdesc:aa68593f788c2eeaae5c1237191e7a2ae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length of the entire text in the underlying text-storage object.  <a href="#aa68593f788c2eeaae5c1237191e7a2ae">More...</a><br/></td></tr>
<tr class="separator:aa68593f788c2eeaae5c1237191e7a2ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a37e9b91a0bd0e9dde2761b603560da9d"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a37e9b91a0bd0e9dde2761b603560da9d">move</a> (int32_t delta, <a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">EOrigin</a> origin)=0</td></tr>
<tr class="memdesc:a37e9b91a0bd0e9dde2761b603560da9d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the current position relative to the start or end of the iteration range, or relative to the current position itself.  <a href="#a37e9b91a0bd0e9dde2761b603560da9d">More...</a><br/></td></tr>
<tr class="separator:a37e9b91a0bd0e9dde2761b603560da9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac9a417f50cd4d741da7fac3429dad0d"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#aac9a417f50cd4d741da7fac3429dad0d">move32</a> (int32_t delta, <a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">EOrigin</a> origin)=0</td></tr>
<tr class="memdesc:aac9a417f50cd4d741da7fac3429dad0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the current position relative to the start or end of the iteration range, or relative to the current position itself.  <a href="#aac9a417f50cd4d741da7fac3429dad0d">More...</a><br/></td></tr>
<tr class="separator:aac9a417f50cd4d741da7fac3429dad0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a2a71011a2d6f91c7f4ca2c1a2fe6fc7f">getText</a> (<a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;result)=0</td></tr>
<tr class="memdesc:a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copies the text under iteration into the <a class="el" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> referred to by "result".  <a href="#a2a71011a2d6f91c7f4ca2c1a2fe6fc7f">More...</a><br/></td></tr>
<tr class="separator:a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classicu_1_1ForwardCharacterIterator"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classicu_1_1ForwardCharacterIterator')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classicu_1_1ForwardCharacterIterator.html">icu::ForwardCharacterIterator</a></td></tr>
<tr class="memitem:a0efde315650556664036dcd16cbe2722 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a0efde315650556664036dcd16cbe2722">~ForwardCharacterIterator</a> ()</td></tr>
<tr class="memdesc:a0efde315650556664036dcd16cbe2722 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a0efde315650556664036dcd16cbe2722">More...</a><br/></td></tr>
<tr class="separator:a0efde315650556664036dcd16cbe2722 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e1959cb4b14d3a5f3ad18b557fac40f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a4e1959cb4b14d3a5f3ad18b557fac40f">operator==</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;that) const =0</td></tr>
<tr class="memdesc:a4e1959cb4b14d3a5f3ad18b557fac40f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when both iterators refer to the same character in the same character-storage object.  <a href="#a4e1959cb4b14d3a5f3ad18b557fac40f">More...</a><br/></td></tr>
<tr class="separator:a4e1959cb4b14d3a5f3ad18b557fac40f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9572cc0daaa3810b69c366a05d922a2f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a9572cc0daaa3810b69c366a05d922a2f">operator!=</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;that) const </td></tr>
<tr class="memdesc:a9572cc0daaa3810b69c366a05d922a2f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when the iterators refer to different text-storage objects, or to different characters in the same text-storage object.  <a href="#a9572cc0daaa3810b69c366a05d922a2f">More...</a><br/></td></tr>
<tr class="separator:a9572cc0daaa3810b69c366a05d922a2f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5ca36cca044f5ea8a033c7a359d83a2 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#ab5ca36cca044f5ea8a033c7a359d83a2">hashCode</a> (void) const =0</td></tr>
<tr class="memdesc:ab5ca36cca044f5ea8a033c7a359d83a2 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a hash code for this iterator.  <a href="#ab5ca36cca044f5ea8a033c7a359d83a2">More...</a><br/></td></tr>
<tr class="separator:ab5ca36cca044f5ea8a033c7a359d83a2 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a595cb66f4bf27c7591d0ca51f8587ab0 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a595cb66f4bf27c7591d0ca51f8587ab0">getDynamicClassID</a> (void) const =0</td></tr>
<tr class="memdesc:a595cb66f4bf27c7591d0ca51f8587ab0 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a UClassID for this <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> ("poor man's
RTTI").  <a href="#a595cb66f4bf27c7591d0ca51f8587ab0">More...</a><br/></td></tr>
<tr class="separator:a595cb66f4bf27c7591d0ca51f8587ab0 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeb1b03f3f09ae322c73bf687d5c3f75 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75">nextPostInc</a> (void)=0</td></tr>
<tr class="memdesc:adeb1b03f3f09ae322c73bf687d5c3f75 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current code unit for returning and advances to the next code unit in the iteration range (toward endIndex()).  <a href="#adeb1b03f3f09ae322c73bf687d5c3f75">More...</a><br/></td></tr>
<tr class="separator:adeb1b03f3f09ae322c73bf687d5c3f75 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acccb6c5e433ff1cbaa5830130b569e97 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97">next32PostInc</a> (void)=0</td></tr>
<tr class="memdesc:acccb6c5e433ff1cbaa5830130b569e97 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current code point for returning and advances to the next code point in the iteration range (toward endIndex()).  <a href="#acccb6c5e433ff1cbaa5830130b569e97">More...</a><br/></td></tr>
<tr class="separator:acccb6c5e433ff1cbaa5830130b569e97 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf876be6f80694afeeb5086524d249df inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#abf876be6f80694afeeb5086524d249df">hasNext</a> ()=0</td></tr>
<tr class="memdesc:abf876be6f80694afeeb5086524d249df inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns FALSE if there are no more code units or code points at or after the current position in the iteration range.  <a href="#abf876be6f80694afeeb5086524d249df">More...</a><br/></td></tr>
<tr class="separator:abf876be6f80694afeeb5086524d249df inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classicu_1_1UObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classicu_1_1UObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classicu_1_1UObject.html">icu::UObject</a></td></tr>
<tr class="memitem:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1UObject.html#af10026497704f510d3d1f2eff50acb18">~UObject</a> ()</td></tr>
<tr class="memdesc:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#af10026497704f510d3d1f2eff50acb18">More...</a><br/></td></tr>
<tr class="separator:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:af16635194b2dd485f35a6f2c35240cf2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> ()</td></tr>
<tr class="memdesc:af16635194b2dd485f35a6f2c35240cf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Empty constructor.  <a href="#af16635194b2dd485f35a6f2c35240cf2">More...</a><br/></td></tr>
<tr class="separator:af16635194b2dd485f35a6f2c35240cf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b5f0102a268c1d7e74bdb03fdfbf59d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a8b5f0102a268c1d7e74bdb03fdfbf59d">CharacterIterator</a> (int32_t length)</td></tr>
<tr class="memdesc:a8b5f0102a268c1d7e74bdb03fdfbf59d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, just setting the length field in this base class.  <a href="#a8b5f0102a268c1d7e74bdb03fdfbf59d">More...</a><br/></td></tr>
<tr class="separator:a8b5f0102a268c1d7e74bdb03fdfbf59d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20e82be8c18df7bc236e3f66d3c5ce68"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a20e82be8c18df7bc236e3f66d3c5ce68">CharacterIterator</a> (int32_t length, int32_t position)</td></tr>
<tr class="memdesc:a20e82be8c18df7bc236e3f66d3c5ce68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, just setting the length and position fields in this base class.  <a href="#a20e82be8c18df7bc236e3f66d3c5ce68">More...</a><br/></td></tr>
<tr class="separator:a20e82be8c18df7bc236e3f66d3c5ce68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae6aef71dcd8da9e3643f36563c1bf2e8"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#ae6aef71dcd8da9e3643f36563c1bf2e8">CharacterIterator</a> (int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)</td></tr>
<tr class="memdesc:ae6aef71dcd8da9e3643f36563c1bf2e8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor, just setting the length, start, end, and position fields in this base class.  <a href="#ae6aef71dcd8da9e3643f36563c1bf2e8">More...</a><br/></td></tr>
<tr class="separator:ae6aef71dcd8da9e3643f36563c1bf2e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab768bb7859a8801c0d895dcb032a195d"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#ab768bb7859a8801c0d895dcb032a195d">CharacterIterator</a> (const <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;that)</td></tr>
<tr class="memdesc:ab768bb7859a8801c0d895dcb032a195d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#ab768bb7859a8801c0d895dcb032a195d">More...</a><br/></td></tr>
<tr class="separator:ab768bb7859a8801c0d895dcb032a195d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af3fd5df0081fd8fccffdd4f1bd8a8811"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#af3fd5df0081fd8fccffdd4f1bd8a8811">operator=</a> (const <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;that)</td></tr>
<tr class="memdesc:af3fd5df0081fd8fccffdd4f1bd8a8811"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#af3fd5df0081fd8fccffdd4f1bd8a8811">More...</a><br/></td></tr>
<tr class="separator:af3fd5df0081fd8fccffdd4f1bd8a8811"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classicu_1_1ForwardCharacterIterator"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classicu_1_1ForwardCharacterIterator')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classicu_1_1ForwardCharacterIterator.html">icu::ForwardCharacterIterator</a></td></tr>
<tr class="memitem:aa338d78a701d10d549e3b1bb3dd93e89 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#aa338d78a701d10d549e3b1bb3dd93e89">ForwardCharacterIterator</a> ()</td></tr>
<tr class="memdesc:aa338d78a701d10d549e3b1bb3dd93e89 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor to be overridden in the implementing class.  <a href="#aa338d78a701d10d549e3b1bb3dd93e89">More...</a><br/></td></tr>
<tr class="separator:aa338d78a701d10d549e3b1bb3dd93e89 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a644d4dc45a418f556f69cff56b31871f inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a644d4dc45a418f556f69cff56b31871f">ForwardCharacterIterator</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;other)</td></tr>
<tr class="memdesc:a644d4dc45a418f556f69cff56b31871f inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor to be overridden in the implementing class.  <a href="#a644d4dc45a418f556f69cff56b31871f">More...</a><br/></td></tr>
<tr class="separator:a644d4dc45a418f556f69cff56b31871f inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b49dbc6510238684b687efb338e77e2 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a5b49dbc6510238684b687efb338e77e2">operator=</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;)</td></tr>
<tr class="memdesc:a5b49dbc6510238684b687efb338e77e2 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator to be overridden in the implementing class.  <a href="#a5b49dbc6510238684b687efb338e77e2">More...</a><br/></td></tr>
<tr class="separator:a5b49dbc6510238684b687efb338e77e2 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a089ec2c9e1cbe7b6b170723c38fd2e55"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a089ec2c9e1cbe7b6b170723c38fd2e55">textLength</a></td></tr>
<tr class="memdesc:a089ec2c9e1cbe7b6b170723c38fd2e55"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class text length field.  <a href="#a089ec2c9e1cbe7b6b170723c38fd2e55">More...</a><br/></td></tr>
<tr class="separator:a089ec2c9e1cbe7b6b170723c38fd2e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a974c6d9bbf0ae1a74688ffdbfc08ad17"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a974c6d9bbf0ae1a74688ffdbfc08ad17">pos</a></td></tr>
<tr class="memdesc:a974c6d9bbf0ae1a74688ffdbfc08ad17"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class field for the current position.  <a href="#a974c6d9bbf0ae1a74688ffdbfc08ad17">More...</a><br/></td></tr>
<tr class="separator:a974c6d9bbf0ae1a74688ffdbfc08ad17"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a08a04f80fc138a3dee27915412bdec"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a8a08a04f80fc138a3dee27915412bdec">begin</a></td></tr>
<tr class="memdesc:a8a08a04f80fc138a3dee27915412bdec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class field for the start of the iteration range.  <a href="#a8a08a04f80fc138a3dee27915412bdec">More...</a><br/></td></tr>
<tr class="separator:a8a08a04f80fc138a3dee27915412bdec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3722479f3191d6bcad48a24bd6c8f3e"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#aa3722479f3191d6bcad48a24bd6c8f3e">end</a></td></tr>
<tr class="memdesc:aa3722479f3191d6bcad48a24bd6c8f3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base class field for the end of the iteration range.  <a href="#aa3722479f3191d6bcad48a24bd6c8f3e">More...</a><br/></td></tr>
<tr class="separator:aa3722479f3191d6bcad48a24bd6c8f3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract class that defines an API for iteration on text objects. </p>
<p>This is an interface for forward and backward iteration and random access into a text object.</p>
<p>The API provides backward compatibility to the Java and older ICU <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> classes but extends them significantly: </p>
<ol>
<li>
<a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> is now a subclass of <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a>. </li>
<li>
While the old API functions provided forward iteration with "pre-increment" semantics, the new one also provides functions with "post-increment" semantics. They are more efficient and should be the preferred iterator functions for new implementations. The backward iteration always had "pre-decrement" semantics, which are efficient. </li>
<li>
Just like <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a>, it provides access to both code units and code points. Code point access versions are available for the old and the new iteration semantics. </li>
<li>
There are new functions for setting and moving the current position without returning a character, for efficiency. </li>
</ol>
<p>See <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> for examples for using the new forward iteration functions. For backward iteration, there is also a <a class="el" href="classicu_1_1CharacterIterator.html#ac83ac180f319b25a9e6ab1a80d66d928" title="Returns FALSE if there are no more code units or code points before the current position in the itera...">hasPrevious()</a> function that can be used analogously to <a class="el" href="classicu_1_1ForwardCharacterIterator.html#abf876be6f80694afeeb5086524d249df" title="Returns FALSE if there are no more code units or code points at or after the current position in the ...">hasNext()</a>. The old functions work as before and are shown below.</p>
<p>Examples for some of the new functions:</p>
<p>Forward iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#abf876be6f80694afeeb5086524d249df" title="Returns FALSE if there are no more code units or code points at or after the current position in the ...">hasNext()</a>: </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> forward1(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> &amp;it) {</div>
<div class="line">    <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c;</div>
<div class="line">    <span class="keywordflow">for</span>(it.setToStart(); it.hasNext();) {</div>
<div class="line">        c=it.next32PostInc();</div>
<div class="line">        <span class="comment">// use c</span></div>
<div class="line">    }</div>
<div class="line"> }</div>
</div><!-- fragment --><p> Forward iteration more similar to loops with the old forward iteration, showing a way to convert simple for() loops: </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> forward2(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> &amp;it) {</div>
<div class="line">    <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c;</div>
<div class="line">    <span class="keywordflow">for</span>(c=it.firstPostInc(); c!=CharacterIterator::DONE; c=it.nextPostInc()) {</div>
<div class="line">         <span class="comment">// use c</span></div>
<div class="line">     }</div>
<div class="line">}</div>
</div><!-- fragment --><p> Backward iteration with <a class="el" href="classicu_1_1CharacterIterator.html#ac5cff21d4826f4f655303de8fecb5ce5" title="Sets the iterator to the end of its iteration range, just behind the last code unit or code point...">setToEnd()</a> and <a class="el" href="classicu_1_1CharacterIterator.html#ac83ac180f319b25a9e6ab1a80d66d928" title="Returns FALSE if there are no more code units or code points before the current position in the itera...">hasPrevious()</a>: </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> backward1(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> &amp;it) {</div>
<div class="line">    <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c;</div>
<div class="line">    <span class="keywordflow">for</span>(it.setToEnd(); it.hasPrevious();) {</div>
<div class="line">       c=it.previous32();</div>
<div class="line">        <span class="comment">// use c</span></div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment --><p> Backward iteration with a more traditional for() loop: </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> backward2(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> &amp;it) {</div>
<div class="line">    <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c;</div>
<div class="line">    <span class="keywordflow">for</span>(c=it.last(); c!=CharacterIterator::DONE; c=it.previous()) {</div>
<div class="line">        <span class="comment">// use c</span></div>
<div class="line">     }</div>
<div class="line"> }</div>
</div><!-- fragment --><p>Example for random access: </p>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> random(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> &amp;it) {</div>
<div class="line">    <span class="comment">// set to the third code point from the beginning</span></div>
<div class="line">    it.move32(3, CharacterIterator::kStart);</div>
<div class="line">    <span class="comment">// get a code point from here without moving the position</span></div>
<div class="line">    <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c=it.current32();</div>
<div class="line">    <span class="comment">// get the position</span></div>
<div class="line">    int32_t <a class="code" href="classicu_1_1CharacterIterator.html#a974c6d9bbf0ae1a74688ffdbfc08ad17">pos</a>=it.getIndex();</div>
<div class="line">    <span class="comment">// get the previous code unit</span></div>
<div class="line">    <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> u=it.previous();</div>
<div class="line">    <span class="comment">// move back one more code unit</span></div>
<div class="line">    it.move(-1, CharacterIterator::kCurrent);</div>
<div class="line">    <span class="comment">// set the position back to where it was</span></div>
<div class="line">    <span class="comment">// and read the same code point c and move beyond it</span></div>
<div class="line">    it.setIndex(pos);</div>
<div class="line">    <span class="keywordflow">if</span>(c!=it.next32PostInc()) {</div>
<div class="line">        exit(1); <span class="comment">// CharacterIterator inconsistent</span></div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment --><p>Examples, especially for the old API:</p>
<p>Function processing characters, in this example simple output </p>
<pre>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> processChar( <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c )</div>
<div class="line">{</div>
<div class="line">    cout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; c;</div>
<div class="line">}</div>
</div><!-- fragment -->
</pre><p> Traverse the text from start to finish </p>
<pre> 
<div class="fragment"><div class="line"><span class="keywordtype">void</span> traverseForward(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>&amp; iter)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordflow">for</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c = iter.first(); c != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE; c = iter.next()) {</div>
<div class="line">        processChar(c);</div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment -->
</pre><p> Traverse the text backwards, from end to start </p>
<pre>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> traverseBackward(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>&amp; iter)</div>
<div class="line">{</div>
<div class="line">    <span class="keywordflow">for</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c = iter.last(); c != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE; c = iter.previous()) {</div>
<div class="line">        processChar(c);</div>
<div class="line">    }</div>
<div class="line">}</div>
</div><!-- fragment -->
</pre><p> Traverse both forward and backward from a given position in the text. Calls to notBoundary() in this example represents some additional stopping criteria. </p>
<pre>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> traverseOut(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>&amp; iter, int32_t pos)</div>
<div class="line">{</div>
<div class="line">     <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c;</div>
<div class="line">     <span class="keywordflow">for</span> (c = iter.setIndex(pos);</div>
<div class="line">     c != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE &amp;&amp; (Unicode::isLetter(c) || Unicode::isDigit(c));</div>
<div class="line">         c = iter.next()) {}</div>
<div class="line">     int32_t <a class="code" href="classicu_1_1CharacterIterator.html#aa3722479f3191d6bcad48a24bd6c8f3e">end</a> = iter.getIndex();</div>
<div class="line">     <span class="keywordflow">for</span> (c = iter.setIndex(pos);</div>
<div class="line">         c != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE &amp;&amp; (Unicode::isLetter(c) || Unicode::isDigit(c));</div>
<div class="line">         c = iter.previous()) {}</div>
<div class="line">     int32_t start = iter.getIndex() + 1;</div>
<div class="line"> </div>
<div class="line">     cout &lt;&lt; <span class="stringliteral">&quot;start: &quot;</span> &lt;&lt; start &lt;&lt; <span class="stringliteral">&quot; end: &quot;</span> &lt;&lt; end &lt;&lt; endl;</div>
<div class="line">     <span class="keywordflow">for</span> (c = iter.setIndex(start); iter.getIndex() &lt; <a class="code" href="classicu_1_1CharacterIterator.html#aa3722479f3191d6bcad48a24bd6c8f3e">end</a>; c = iter.next() ) {</div>
<div class="line">         processChar(c);</div>
<div class="line">    }</div>
<div class="line"> }</div>
</div><!-- fragment -->
</pre><p> Creating a <a class="el" href="classicu_1_1StringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...">StringCharacterIterator</a> and calling the test functions </p>
<pre>
<div class="fragment"><div class="line"><span class="keywordtype">void</span> CharacterIterator_Example( <span class="keywordtype">void</span> )</div>
<div class="line"> {</div>
<div class="line">     cout &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;===== CharacterIterator_Example: =====&quot;</span> &lt;&lt; endl;</div>
<div class="line">     UnicodeString text(<span class="stringliteral">&quot;Ein kleiner Satz.&quot;</span>);</div>
<div class="line">     StringCharacterIterator iterator(text);</div>
<div class="line">     cout &lt;&lt; <span class="stringliteral">&quot;----- traverseForward: -----------&quot;</span> &lt;&lt; endl;</div>
<div class="line">     traverseForward( iterator );</div>
<div class="line">     cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;----- traverseBackward: ----------&quot;</span> &lt;&lt; endl;</div>
<div class="line">     traverseBackward( iterator );</div>
<div class="line">     cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;----- traverseOut: ---------------&quot;</span> &lt;&lt; endl;</div>
<div class="line">     traverseOut( iterator, 7 );</div>
<div class="line">     cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;-----&quot;</span> &lt;&lt; endl;</div>
<div class="line"> }</div>
</div><!-- fragment -->
</pre><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000110">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00356">356</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="a065aff1d713f7659faba4951d16f5f38"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">icu::CharacterIterator::EOrigin</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Origin enumeration for the <a class="el" href="classicu_1_1CharacterIterator.html#a37e9b91a0bd0e9dde2761b603560da9d" title="Moves the current position relative to the start or end of the iteration range, or relative to the cu...">move()</a> and <a class="el" href="classicu_1_1CharacterIterator.html#aac9a417f50cd4d741da7fac3429dad0d" title="Moves the current position relative to the start or end of the iteration range, or relative to the cu...">move32()</a> functions. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000123">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00362">362</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a6f02b160cc84f55de41adc72cbb9b9ed"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual icu::CharacterIterator::~CharacterIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

</div>
</div>
<a class="anchor" id="af16635194b2dd485f35a6f2c35240cf2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Empty constructor. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000150">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a8b5f0102a268c1d7e74bdb03fdfbf59d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor, just setting the length field in this base class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000151">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a20e82be8c18df7bc236e3f66d3c5ce68"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor, just setting the length and position fields in this base class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000152">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ae6aef71dcd8da9e3643f36563c1bf2e8"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>textBegin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>textEnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor, just setting the length, start, end, and position fields in this base class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000153">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ab768bb7859a8801c0d895dcb032a195d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>that</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td>The <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> to be copied </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000154">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a8b3d69e0cbc3a22f7fc87f78b78c7ca2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a>* icu::CharacterIterator::clone </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a pointer to a new <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> of the same concrete class as this one, and referring to the same character in the same text-storage object as this one. </p>
<p>The caller is responsible for deleting the new clone. </p>
<dl class="section return"><dt>Returns</dt><dd>a pointer to a new <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000125">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a786173968fbad4b02c4962ff1b569e40">icu::UCharCharacterIterator</a>, and <a class="el" href="classicu_1_1StringCharacterIterator.html#a16d47aaac17358532793ee5062c1b161">icu::StringCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a7c40738625fe775ef8d07e166ac5ca54"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::current </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the code unit the iterator currently refers to. </p>
<dl class="section return"><dt>Returns</dt><dd>the current code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000136">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a70269e8ca30ec4cc21ced9e7c1f76ae6">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a946220338dce1cb3151ef3dbd6a7c943"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::current32 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the code point the iterator currently refers to. </p>
<dl class="section return"><dt>Returns</dt><dd>the current code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000137">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a851f088d97ed3b87d05d3fed942d09bf">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="acb9498db4285d26d9bfaccb73f688f65"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::endIndex </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the numeric index in the underlying text-storage object of the position immediately BEYOND the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a3e1b89449404ca3b73798f9f8abe33e9" title="Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...">last()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the numeric index in the underlying text-storage object of the position immediately BEYOND the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a3e1b89449404ca3b73798f9f8abe33e9" title="Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...">last()</a>. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000144">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00707">707</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2434e2d9d5436d1e17c093f5d39ef9eb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::first </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit. </p>
<p>This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a5ba065caa3c0af49f3683dcebde6000e" title="Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...">next()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the first code unit in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000126">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a221d7739ab6a022618d165946bb710db">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a89548cc913bf599865c9098638a9c2e7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::first32 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a6e9a84b89a0d3fe7aae189f744576b00" title="Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...">next32()</a>. </p>
<p>Note that an iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>, beginning with, e.g., <a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa" title="Sets the iterator to refer to the first code unit or code point in its iteration range. ">setToStart()</a> or <a class="el" href="classicu_1_1CharacterIterator.html#a1e17d5547a23329c13429024cae7271a" title="Sets the iterator to refer to the first code unit in its iteration range, returns that code unit...">firstPostInc()</a>, is more efficient. </p>
<dl class="section return"><dt>Returns</dt><dd>the first code point in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000128">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a8e303d836c4f59637830ccebd029993d">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a10b0383da1187bb22b46412ca46da1f4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::first32PostInc </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point. </p>
<p>This is an alternative to <a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa" title="Sets the iterator to refer to the first code unit or code point in its iteration range. ">setToStart()</a> for forward iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the first code point in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000129">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a0f75eda04e5e587230bf3d15ce654286">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a1e17d5547a23329c13429024cae7271a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::firstPostInc </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the first code unit in its iteration range, returns that code unit, and moves the position to the second code unit. </p>
<p>This is an alternative to <a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa" title="Sets the iterator to refer to the first code unit or code point in its iteration range. ">setToStart()</a> for forward iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the first code unit in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000127">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a06b446c0202436b0f63ab5ac029bccc5">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a64840e056163f5ddd38dab521f81f10c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::getIndex </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the numeric index in the underlying text-storage object of the character the iterator currently refers to (i.e., the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a7c40738625fe775ef8d07e166ac5ca54" title="Returns the code unit the iterator currently refers to. ">current()</a>). </p>
<dl class="section return"><dt>Returns</dt><dd>the numberic index in the text-storage object of the character the iterator currently refers to </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000145">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00712">712</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa68593f788c2eeaae5c1237191e7a2ae"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::getLength </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the length of the entire text in the underlying text-storage object. </p>
<dl class="section return"><dt>Returns</dt><dd>the length of the entire text in the text-storage object </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000146">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00717">717</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::CharacterIterator::getText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copies the text under iteration into the <a class="el" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> referred to by "result". </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">result</td><td>Receives a copy of the text under iteration. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000149">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a4bf66cb3192643dd39ce6d5057d78b4f">icu::UCharCharacterIterator</a>, and <a class="el" href="classicu_1_1StringCharacterIterator.html#a11b0f7c1792b63ae246ebf0d3f1141ad">icu::StringCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="ac83ac180f319b25a9e6ab1a80d66d928"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> icu::CharacterIterator::hasPrevious </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns FALSE if there are no more code units or code points before the current position in the iteration range. </p>
<p>This is used with <a class="el" href="classicu_1_1CharacterIterator.html#a23965d8aaf700f570f97846700f607e2" title="Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...">previous()</a> or <a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb" title="Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...">previous32()</a> in backward iteration. </p>
<dl class="section return"><dt>Returns</dt><dd>FALSE if there are no more code units or code points before the current position in the iteration range, return TRUE otherwise. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000142">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#ab5e39592d6b9ed49b304b1a489c535fa">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a3e1b89449404ca3b73798f9f8abe33e9"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::last </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit. </p>
<p>This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a23965d8aaf700f570f97846700f607e2" title="Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...">previous()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the last code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000131">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#afcdee0de8cb234e75cabf83f8f037e50">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a86fc3990c224e4df431e6b93bb757298"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::last32 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the last code point in its iteration range, and returns that code unit. </p>
<p>This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb" title="Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...">previous32()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the last code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000132">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a9eed4489840c5815e641555466df1582">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a37e9b91a0bd0e9dde2761b603560da9d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t icu::CharacterIterator::move </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>delta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">EOrigin</a>&#160;</td>
          <td class="paramname"><em>origin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. </p>
<p>The movement is expressed in numbers of code units forward or backward by specifying a positive or negative delta. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">delta</td><td>the position relative to origin. A positive delta means forward; a negative delta means backward. </td></tr>
    <tr><td class="paramname">origin</td><td>Origin enumeration {kStart, kCurrent, kEnd} </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new position </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000147">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a57fd4f8d6886b8b28f4c5975879d0be0">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="aac9a417f50cd4d741da7fac3429dad0d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t icu::CharacterIterator::move32 </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>delta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">EOrigin</a>&#160;</td>
          <td class="paramname"><em>origin</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. </p>
<p>The movement is expressed in numbers of code points forward or backward by specifying a positive or negative delta. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">delta</td><td>the position relative to origin. A positive delta means forward; a negative delta means backward. </td></tr>
    <tr><td class="paramname">origin</td><td>Origin enumeration {kStart, kCurrent, kEnd} </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new position </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000148">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#aa22dffcd3e10f438a50a47bd433ffe00">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a5ba065caa3c0af49f3683dcebde6000e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::next </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances to the next code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#acb9498db4285d26d9bfaccb73f688f65" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code unit. </p>
<p>If there are no more code units to return, returns DONE. </p>
<dl class="section return"><dt>Returns</dt><dd>the next code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000138">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#af07a4a18fdb1b2e2c8a0e398c2df381a">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a6e9a84b89a0d3fe7aae189f744576b00"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::next32 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances to the next code point in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#acb9498db4285d26d9bfaccb73f688f65" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code point. </p>
<p>If there are no more code points to return, returns DONE. Note that iteration with "pre-increment" semantics is less efficient than iteration with "post-increment" semantics that is provided by <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the next code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000139">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a6913c3566f70f450b36b72799e778662">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="af3fd5df0081fd8fccffdd4f1bd8a8811"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a>&amp; icu::CharacterIterator::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>that</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assignment operator. </p>
<p>Sets this <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> to have the same behavior, as the one passed in. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td>The <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> passed in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the newly set <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a>. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000155">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a23965d8aaf700f570f97846700f607e2"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::previous </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances to the previous code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a997669c2389aede36fd4402cc1331310" title="Returns the numeric index in the underlying text-storage object of the character returned by first()...">startIndex()</a>), and returns that code unit. </p>
<p>If there are no more code units to return, returns DONE. </p>
<dl class="section return"><dt>Returns</dt><dd>the previous code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000140">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a6e1d829c679b176551a5533e0dd868e4">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="aa4e10820fbdb4dda83464e4bb629cbdb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::previous32 </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Advances to the previous code point in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a997669c2389aede36fd4402cc1331310" title="Returns the numeric index in the underlying text-storage object of the character returned by first()...">startIndex()</a>), and returns that code point. </p>
<p>If there are no more code points to return, returns DONE. </p>
<dl class="section return"><dt>Returns</dt><dd>the previous code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000141">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a527f59faf49c9f200b550d7b859b016f">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a4a89b0d0cc85fcaad5c0e1c3e75da928"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> icu::CharacterIterator::setIndex </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator refers to, and returns that code unit. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>the "position"-th code unit in the text-storage object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the "position"-th code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000134">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a884772012bbb1269c4204aa3d5b1ffb0">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a8519987104888e1af043b146971b6793"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> icu::CharacterIterator::setIndex32 </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the beginning of the code point that contains the "position"-th code unit in the text-storage object the iterator refers to, and returns that code point. </p>
<p>The current position is adjusted to the beginning of the code point (its first code unit). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>the "position"-th code unit in the text-storage object </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the "position"-th code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000135">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#aa3c0cc4203e98bbf27e0958f7823d588">icu::UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="ac5cff21d4826f4f655303de8fecb5ce5"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::setToEnd </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to the end of its iteration range, just behind the last code unit or code point. </p>
<p>This can be used to begin a backward iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a23965d8aaf700f570f97846700f607e2" title="Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...">previous()</a> or <a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb" title="Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...">previous32()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the end position of the iteration range </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000133">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00697">697</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac6e8c16981c7481256c50ab7145185aa"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::setToStart </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the iterator to refer to the first code unit or code point in its iteration range. </p>
<p>This can be used to begin a forward iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a> or <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>the start position of the iteration range </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000130">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00692">692</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a997669c2389aede36fd4402cc1331310"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::startIndex </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the numeric index in the underlying text-storage object of the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a2434e2d9d5436d1e17c093f5d39ef9eb" title="Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...">first()</a>. </p>
<p>Since it's possible to create an iterator that iterates across only part of a text-storage object, this number isn't necessarily 0. </p>
<dl class="section return"><dt>Returns</dt><dd>the numeric index in the underlying text-storage object of the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#a2434e2d9d5436d1e17c093f5d39ef9eb" title="Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...">first()</a>. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000143">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00702">702</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="a8a08a04f80fc138a3dee27915412bdec"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::begin</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Base class field for the start of the iteration range. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000158">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00677">677</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa3722479f3191d6bcad48a24bd6c8f3e"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::end</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Base class field for the end of the iteration range. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000159">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00683">683</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a974c6d9bbf0ae1a74688ffdbfc08ad17"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::pos</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Base class field for the current position. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000157">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00671">671</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<a class="anchor" id="a089ec2c9e1cbe7b6b170723c38fd2e55"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::CharacterIterator::textLength</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Base class text length field. </p>
<p>Necessary this for correct <a class="el" href="classicu_1_1CharacterIterator.html#a2a71011a2d6f91c7f4ca2c1a2fe6fc7f" title="Copies the text under iteration into the UnicodeString referred to by &quot;result&quot;. ">getText()</a> and <a class="el" href="classicu_1_1ForwardCharacterIterator.html#ab5ca36cca044f5ea8a033c7a359d83a2" title="Generates a hash code for this iterator. ">hashCode()</a>. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000156">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00665">665</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="chariter_8h_source.html">chariter.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>