Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > f51238514e2abe817779ad2fe01b0759 > files > 56

icu-doc-4.4-2.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>ICU 4.4: CharacterIterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>CharacterIterator Class Reference</h1><!-- doxytag: class="CharacterIterator" --><!-- doxytag: inherits="ForwardCharacterIterator" -->
<p>Abstract class that defines an API for iteration on text objects.  
<a href="#_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 CharacterIterator:</div>
<div class="dynsection">
 <div class="center">
  <img src="classCharacterIterator.gif" usemap="#CharacterIterator_map" alt=""/>
  <map id="CharacterIterator_map" name="CharacterIterator_map">
<area href="classForwardCharacterIterator.html" alt="ForwardCharacterIterator" shape="rect" coords="0,112,157,136"/>
<area href="classUObject.html" alt="UObject" shape="rect" coords="0,56,157,80"/>
<area href="classUMemory.html" alt="UMemory" shape="rect" coords="0,0,157,24"/>
<area href="classUCharCharacterIterator.html" alt="UCharCharacterIterator" shape="rect" coords="0,224,157,248"/>
<area href="classStringCharacterIterator.html" alt="StringCharacterIterator" shape="rect" coords="0,280,157,304"/>
</map>
 </div>
</div>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">EOrigin</a> { <b>kStart</b>, 
<b>kCurrent</b>, 
<b>kEnd</b>
 }</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Origin enumeration for the <a class="el" href="classCharacterIterator.html#a16d3fd1fd0cd893b48a0a5697192d634" title="Moves the current position relative to the start or end of the iteration range, or...">move()</a> and <a class="el" href="classCharacterIterator.html#a711c44e0d1a4dbe0a191ff8d2e14b73e" title="Moves the current position relative to the start or end of the iteration range, or...">move32()</a> functions. </p>
 <a href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classCharacterIterator.html">CharacterIterator</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#adc8a708194960bd2ed640ba8a23e565a">clone</a> (void) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns a pointer to a new <a class="el" href="classCharacterIterator.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="#adc8a708194960bd2ed640ba8a23e565a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#afe22aec945697b4459fb4195e1b621c7">first</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#afe22aec945697b4459fb4195e1b621c7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#afe620dca9c565e933dca7139ab1f4210">firstPostInc</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#afe620dca9c565e933dca7139ab1f4210"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a26486be2a3a24bb1634c3279139d549c">first32</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="classCharacterIterator.html#a9521fd47c8637a99776254ee0a0d469e" title="Advances to the next code point in the iteration range (toward endIndex()), and returns...">next32()</a>.  <a href="#a26486be2a3a24bb1634c3279139d549c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a9e13e7752a9a3091476ef3d42252bf40">first32PostInc</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a9e13e7752a9a3091476ef3d42252bf40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a70bb6445dc7e7cafbd02852a8100cd9e">setToStart</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the iterator to refer to the first code unit or code point in its iteration range.  <a href="#a70bb6445dc7e7cafbd02852a8100cd9e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#ace1cd4d7bad7cd6b302df4beef3640be">last</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#ace1cd4d7bad7cd6b302df4beef3640be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a88c76a273fb1889aa00272fe0965831b">last32</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a88c76a273fb1889aa00272fe0965831b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a38e0b6be47a35be38fc13172d67005f1">setToEnd</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a38e0b6be47a35be38fc13172d67005f1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a0a1fd04a11c18fc3049934b353c431eb">setIndex</a> (int32_t position)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a0a1fd04a11c18fc3049934b353c431eb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a380715d71de513e075e3e27d2abe595e">setIndex32</a> (int32_t position)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a380715d71de513e075e3e27d2abe595e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a6a481f104f8b9446c1e95ea4c47d8228">current</a> (void) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the code unit the iterator currently refers to.  <a href="#a6a481f104f8b9446c1e95ea4c47d8228"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#af2e58620e65172866d073435a3425a11">current32</a> (void) const =0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the code point the iterator currently refers to.  <a href="#af2e58620e65172866d073435a3425a11"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a82bd3961ea1e045cbb533633d15ab00d">next</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the next code unit in the iteration range (toward <a class="el" href="classCharacterIterator.html#a3a4f8b46a10f11f0b2d1a393c02d84e0" title="Returns the numeric index in the underlying text-storage object of the position immediately...">endIndex()</a>), and returns that code unit.  <a href="#a82bd3961ea1e045cbb533633d15ab00d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a9521fd47c8637a99776254ee0a0d469e">next32</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the next code point in the iteration range (toward <a class="el" href="classCharacterIterator.html#a3a4f8b46a10f11f0b2d1a393c02d84e0" title="Returns the numeric index in the underlying text-storage object of the position immediately...">endIndex()</a>), and returns that code point.  <a href="#a9521fd47c8637a99776254ee0a0d469e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f">previous</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the previous code unit in the iteration range (toward <a class="el" href="classCharacterIterator.html#a9183d23e57ab5571c907295f5a45893d" title="Returns the numeric index in the underlying text-storage object of the character...">startIndex()</a>), and returns that code unit.  <a href="#a7dfde118a5b6e7755cb4b237c616873f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a9630a5fbd755633cf46c33c3a42c5457">previous32</a> (void)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Advances to the previous code point in the iteration range (toward <a class="el" href="classCharacterIterator.html#a9183d23e57ab5571c907295f5a45893d" title="Returns the numeric index in the underlying text-storage object of the character...">startIndex()</a>), and returns that code point.  <a href="#a9630a5fbd755633cf46c33c3a42c5457"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a785a86ae2f1730806eef19595f14d1aa">hasPrevious</a> ()=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a785a86ae2f1730806eef19595f14d1aa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a9183d23e57ab5571c907295f5a45893d">startIndex</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the numeric index in the underlying text-storage object of the character returned by <a class="el" href="classCharacterIterator.html#afe22aec945697b4459fb4195e1b621c7" title="Sets the iterator to refer to the first code unit in its iteration range, and returns...">first()</a>.  <a href="#a9183d23e57ab5571c907295f5a45893d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a3a4f8b46a10f11f0b2d1a393c02d84e0">endIndex</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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="classCharacterIterator.html#ace1cd4d7bad7cd6b302df4beef3640be" title="Sets the iterator to refer to the last code unit in its iteration range, and returns...">last()</a>.  <a href="#a3a4f8b46a10f11f0b2d1a393c02d84e0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a522cefaae2a07cd2b2f3282e7da60fdb">getIndex</a> (void) const </td></tr>
<tr><td class="mdescLeft">&nbsp;</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="classCharacterIterator.html#a6a481f104f8b9446c1e95ea4c47d8228" title="Returns the code unit the iterator currently refers to.">current()</a>).  <a href="#a522cefaae2a07cd2b2f3282e7da60fdb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a41436db33a5481117f89b343d47a6e97">getLength</a> () const </td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the length of the entire text in the underlying text-storage object.  <a href="#a41436db33a5481117f89b343d47a6e97"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a16d3fd1fd0cd893b48a0a5697192d634">move</a> (int32_t delta, <a class="el" href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">EOrigin</a> origin)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a16d3fd1fd0cd893b48a0a5697192d634"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a711c44e0d1a4dbe0a191ff8d2e14b73e">move32</a> (int32_t delta, <a class="el" href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">EOrigin</a> origin)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#a711c44e0d1a4dbe0a191ff8d2e14b73e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a03c54d93e6fe1d3be187c67acb957410">getText</a> (<a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;result)=0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copies the text under iteration into the <a class="el" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> referred to by "result".  <a href="#a03c54d93e6fe1d3be187c67acb957410"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a1221d9ac55c0c3dbdc91d4ae667888db">CharacterIterator</a> ()</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Empty constructor.  <a href="#a1221d9ac55c0c3dbdc91d4ae667888db"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a546dee20db39cdee1fae5deab92e67ff">CharacterIterator</a> (int32_t length)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, just setting the length field in this base class.  <a href="#a546dee20db39cdee1fae5deab92e67ff"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a4da97d3afb6b8434eea11823f8eb78d6">CharacterIterator</a> (int32_t length, int32_t position)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, just setting the length and position fields in this base class.  <a href="#a4da97d3afb6b8434eea11823f8eb78d6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a73d8a50abf33ac9da63c3c9d463ef7ab">CharacterIterator</a> (int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constructor, just setting the length, start, end, and position fields in this base class.  <a href="#a73d8a50abf33ac9da63c3c9d463ef7ab"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a5ef75872ea49689d6c75a2597d8028ef">CharacterIterator</a> (const <a class="el" href="classCharacterIterator.html">CharacterIterator</a> &amp;that)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Copy constructor.  <a href="#a5ef75872ea49689d6c75a2597d8028ef"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCharacterIterator.html">CharacterIterator</a> &amp;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a24bbd0b8ba0893633c7ddac569f5161a">operator=</a> (const <a class="el" href="classCharacterIterator.html">CharacterIterator</a> &amp;that)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Assignment operator.  <a href="#a24bbd0b8ba0893633c7ddac569f5161a"></a><br/></td></tr>
<tr><td colspan="2"><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#aa30eb2520df4a1737bb8716b07faebc7">textLength</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class text length field.  <a href="#aa30eb2520df4a1737bb8716b07faebc7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#a31cf308271cffffd314e8e93e7e9518e">pos</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class field for the current position.  <a href="#a31cf308271cffffd314e8e93e7e9518e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#ac16ef20e110321b0a78a05193d845dbd">begin</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class field for the start of the iteration range.  <a href="#ac16ef20e110321b0a78a05193d845dbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCharacterIterator.html#afccadd77d7c4440b30816c302ece13d5">end</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Base class field for the end of the iteration range.  <a href="#afccadd77d7c4440b30816c302ece13d5"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<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="classCharacterIterator.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="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> is now a subclass of <a class="el" href="classForwardCharacterIterator.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="classForwardCharacterIterator.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="classForwardCharacterIterator.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="classCharacterIterator.html#a785a86ae2f1730806eef19595f14d1aa" title="Returns FALSE if there are no more code units or code points before the current position...">hasPrevious()</a> function that can be used analogously to <a class="el" href="classForwardCharacterIterator.html#ab53c28ee0b9ff659983ded76e53f6251" title="Returns FALSE if there are no more code units or code points at or after the current...">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="classForwardCharacterIterator.html#ab53c28ee0b9ff659983ded76e53f6251" title="Returns FALSE if there are no more code units or code points at or after the current...">hasNext()</a>: </p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> forward1(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> &amp;it) {
     <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c;
     <span class="keywordflow">for</span>(it.<a class="code" href="classCharacterIterator.html#a70bb6445dc7e7cafbd02852a8100cd9e" title="Sets the iterator to refer to the first code unit or code point in its iteration...">setToStart</a>(); it.<a class="code" href="classForwardCharacterIterator.html#ab53c28ee0b9ff659983ded76e53f6251" title="Returns FALSE if there are no more code units or code points at or after the current...">hasNext</a>();) {
         c=it.<a class="code" href="classForwardCharacterIterator.html#acb902b4e8c192937270157bb1afca237" title="Gets the current code point for returning and advances to the next code point in...">next32PostInc</a>();
         <span class="comment">// use c</span>
     }
  }
</pre></div><p> Forward iteration more similar to loops with the old forward iteration, showing a way to convert simple for() loops: </p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> forward2(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> &amp;it) {
     <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c;
     <span class="keywordflow">for</span>(c=it.<a class="code" href="classCharacterIterator.html#afe620dca9c565e933dca7139ab1f4210" title="Sets the iterator to refer to the first code unit in its iteration range, returns...">firstPostInc</a>(); c!=CharacterIterator::DONE; c=it.<a class="code" href="classForwardCharacterIterator.html#a713194d8a27d3f50fe0454b8286921cc" title="Gets the current code unit for returning and advances to the next code unit in the...">nextPostInc</a>()) {
          <span class="comment">// use c</span>
      }
 }
</pre></div><p> Backward iteration with <a class="el" href="classCharacterIterator.html#a38e0b6be47a35be38fc13172d67005f1" title="Sets the iterator to the end of its iteration range, just behind the last code unit...">setToEnd()</a> and <a class="el" href="classCharacterIterator.html#a785a86ae2f1730806eef19595f14d1aa" title="Returns FALSE if there are no more code units or code points before the current position...">hasPrevious()</a>: </p>
<div class="fragment"><pre class="fragment">  <span class="keywordtype">void</span> backward1(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> &amp;it) {
      <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c;
      <span class="keywordflow">for</span>(it.<a class="code" href="classCharacterIterator.html#a38e0b6be47a35be38fc13172d67005f1" title="Sets the iterator to the end of its iteration range, just behind the last code unit...">setToEnd</a>(); it.<a class="code" href="classCharacterIterator.html#a785a86ae2f1730806eef19595f14d1aa" title="Returns FALSE if there are no more code units or code points before the current position...">hasPrevious</a>();) {
         c=it.<a class="code" href="classCharacterIterator.html#a9630a5fbd755633cf46c33c3a42c5457" title="Advances to the previous code point in the iteration range (toward startIndex())...">previous32</a>();
          <span class="comment">// use c</span>
      }
  }
</pre></div><p> Backward iteration with a more traditional for() loop: </p>
<div class="fragment"><pre class="fragment"> <span class="keywordtype">void</span> backward2(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> &amp;it) {
     <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c;
     <span class="keywordflow">for</span>(c=it.<a class="code" href="classCharacterIterator.html#ace1cd4d7bad7cd6b302df4beef3640be" title="Sets the iterator to refer to the last code unit in its iteration range, and returns...">last</a>(); c!=CharacterIterator::DONE; c=it.<a class="code" href="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous</a>()) {
         <span class="comment">// use c</span>
      }
  }
</pre></div><p>Example for random access: </p>
<div class="fragment"><pre class="fragment">  <span class="keywordtype">void</span> random(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> &amp;it) {
      <span class="comment">// set to the third code point from the beginning</span>
      it.<a class="code" href="classCharacterIterator.html#a711c44e0d1a4dbe0a191ff8d2e14b73e" title="Moves the current position relative to the start or end of the iteration range, or...">move32</a>(3, CharacterIterator::kStart);
      <span class="comment">// get a code point from here without moving the position</span>
      <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c=it.<a class="code" href="classCharacterIterator.html#af2e58620e65172866d073435a3425a11" title="Returns the code point the iterator currently refers to.">current32</a>();
      <span class="comment">// get the position</span>
      int32_t <a class="code" href="classCharacterIterator.html#a31cf308271cffffd314e8e93e7e9518e" title="Base class field for the current position.">pos</a>=it.<a class="code" href="classCharacterIterator.html#a522cefaae2a07cd2b2f3282e7da60fdb" title="Returns the numeric index in the underlying text-storage object of the character...">getIndex</a>();
      <span class="comment">// get the previous code unit</span>
      <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> u=it.<a class="code" href="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous</a>();
      <span class="comment">// move back one more code unit</span>
      it.<a class="code" href="classCharacterIterator.html#a16d3fd1fd0cd893b48a0a5697192d634" title="Moves the current position relative to the start or end of the iteration range, or...">move</a>(-1, CharacterIterator::kCurrent);
      <span class="comment">// set the position back to where it was</span>
      <span class="comment">// and read the same code point c and move beyond it</span>
      it.<a class="code" href="classCharacterIterator.html#a0a1fd04a11c18fc3049934b353c431eb" title="Sets the iterator to refer to the &amp;quot;position&amp;quot;-th code unit in the text-storage...">setIndex</a>(pos);
      <span class="keywordflow">if</span>(c!=it.<a class="code" href="classForwardCharacterIterator.html#acb902b4e8c192937270157bb1afca237" title="Gets the current code point for returning and advances to the next code point in...">next32PostInc</a>()) {
          exit(1); <span class="comment">// CharacterIterator inconsistent</span>
      }
  }
</pre></div><p>Examples, especially for the old API:</p>
<p>Function processing characters, in this example simple output </p>
<pre>
 <div class="fragment"><pre class="fragment">  <span class="keywordtype">void</span> processChar( <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c )
  {
      cout &lt;&lt; <span class="stringliteral">&quot; &quot;</span> &lt;&lt; c;
  }
</pre></div>
 </pre><p> Traverse the text from start to finish </p>
<pre> 
 <div class="fragment"><pre class="fragment">  <span class="keywordtype">void</span> traverseForward(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>&amp; iter)
  {
      <span class="keywordflow">for</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c = iter.<a class="code" href="classCharacterIterator.html#afe22aec945697b4459fb4195e1b621c7" title="Sets the iterator to refer to the first code unit in its iteration range, and returns...">first</a>(); c != <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>.DONE; c = iter.<a class="code" href="classCharacterIterator.html#a82bd3961ea1e045cbb533633d15ab00d" title="Advances to the next code unit in the iteration range (toward endIndex()), and returns...">next</a>()) {
          processChar(c);
      }
  }
</pre></div>
 </pre><p> Traverse the text backwards, from end to start </p>
<pre>
 <div class="fragment"><pre class="fragment">  <span class="keywordtype">void</span> traverseBackward(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>&amp; iter)
  {
      <span class="keywordflow">for</span>(<a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c = iter.<a class="code" href="classCharacterIterator.html#ace1cd4d7bad7cd6b302df4beef3640be" title="Sets the iterator to refer to the last code unit in its iteration range, and returns...">last</a>(); c != <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>.DONE; c = iter.<a class="code" href="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous</a>()) {
          processChar(c);
      }
  }
</pre></div>
 </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"><pre class="fragment"> <span class="keywordtype">void</span> traverseOut(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>&amp; iter, int32_t pos)
 {
      <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> c;
      <span class="keywordflow">for</span> (c = iter.<a class="code" href="classCharacterIterator.html#a0a1fd04a11c18fc3049934b353c431eb" title="Sets the iterator to refer to the &amp;quot;position&amp;quot;-th code unit in the text-storage...">setIndex</a>(pos);
      c != <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>.DONE &amp;&amp; (Unicode::isLetter(c) || Unicode::isDigit(c));
          c = iter.<a class="code" href="classCharacterIterator.html#a82bd3961ea1e045cbb533633d15ab00d" title="Advances to the next code unit in the iteration range (toward endIndex()), and returns...">next</a>()) {}
      int32_t <a class="code" href="classCharacterIterator.html#afccadd77d7c4440b30816c302ece13d5" title="Base class field for the end of the iteration range.">end</a> = iter.<a class="code" href="classCharacterIterator.html#a522cefaae2a07cd2b2f3282e7da60fdb" title="Returns the numeric index in the underlying text-storage object of the character...">getIndex</a>();
      <span class="keywordflow">for</span> (c = iter.<a class="code" href="classCharacterIterator.html#a0a1fd04a11c18fc3049934b353c431eb" title="Sets the iterator to refer to the &amp;quot;position&amp;quot;-th code unit in the text-storage...">setIndex</a>(pos);
          c != <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>.DONE &amp;&amp; (Unicode::isLetter(c) || Unicode::isDigit(c));
          c = iter.<a class="code" href="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous</a>()) {}
      int32_t start = iter.<a class="code" href="classCharacterIterator.html#a522cefaae2a07cd2b2f3282e7da60fdb" title="Returns the numeric index in the underlying text-storage object of the character...">getIndex</a>() + 1;
  
      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;
      <span class="keywordflow">for</span> (c = iter.<a class="code" href="classCharacterIterator.html#a0a1fd04a11c18fc3049934b353c431eb" title="Sets the iterator to refer to the &amp;quot;position&amp;quot;-th code unit in the text-storage...">setIndex</a>(start); iter.<a class="code" href="classCharacterIterator.html#a522cefaae2a07cd2b2f3282e7da60fdb" title="Returns the numeric index in the underlying text-storage object of the character...">getIndex</a>() &lt; end; c = iter.<a class="code" href="classCharacterIterator.html#a82bd3961ea1e045cbb533633d15ab00d" title="Advances to the next code unit in the iteration range (toward endIndex()), and returns...">next</a>() ) {
          processChar(c);
     }
  }
</pre></div>
 </pre><p> Creating a <a class="el" href="classStringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code...">StringCharacterIterator</a> and calling the test functions </p>
<pre>
 <div class="fragment"><pre class="fragment">  <span class="keywordtype">void</span> CharacterIterator_Example( <span class="keywordtype">void</span> )
   {
       cout &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;===== CharacterIterator_Example: =====&quot;</span> &lt;&lt; endl;
       <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> text(<span class="stringliteral">&quot;Ein kleiner Satz.&quot;</span>);
       <a class="code" href="classStringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code...">StringCharacterIterator</a> iterator(text);
       cout &lt;&lt; <span class="stringliteral">&quot;----- traverseForward: -----------&quot;</span> &lt;&lt; endl;
       traverseForward( iterator );
       cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;----- traverseBackward: ----------&quot;</span> &lt;&lt; endl;
       traverseBackward( iterator );
       cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;----- traverseOut: ---------------&quot;</span> &lt;&lt; endl;
       traverseOut( iterator, 7 );
       cout &lt;&lt; endl &lt;&lt; endl &lt;&lt; <span class="stringliteral">&quot;-----&quot;</span> &lt;&lt; endl;
   }
</pre></div>
 </pre><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000061">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>
<hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="aa400f3cff117a0e79ab4246c606c9141"></a><!-- doxytag: member="CharacterIterator::EOrigin" ref="aa400f3cff117a0e79ab4246c606c9141" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">CharacterIterator::EOrigin</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Origin enumeration for the <a class="el" href="classCharacterIterator.html#a16d3fd1fd0cd893b48a0a5697192d634" title="Moves the current position relative to the start or end of the iteration range, or...">move()</a> and <a class="el" href="classCharacterIterator.html#a711c44e0d1a4dbe0a191ff8d2e14b73e" title="Moves the current position relative to the start or end of the iteration range, or...">move32()</a> functions. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000074">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>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a1221d9ac55c0c3dbdc91d4ae667888db"></a><!-- doxytag: member="CharacterIterator::CharacterIterator" ref="a1221d9ac55c0c3dbdc91d4ae667888db" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

</div>
</div>
<a class="anchor" id="a546dee20db39cdee1fae5deab92e67ff"></a><!-- doxytag: member="CharacterIterator::CharacterIterator" ref="a546dee20db39cdee1fae5deab92e67ff" args="(int32_t length)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>length</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></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#_stable000101">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a4da97d3afb6b8434eea11823f8eb78d6"></a><!-- doxytag: member="CharacterIterator::CharacterIterator" ref="a4da97d3afb6b8434eea11823f8eb78d6" args="(int32_t length, int32_t position)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></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#_stable000102">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a73d8a50abf33ac9da63c3c9d463ef7ab"></a><!-- doxytag: member="CharacterIterator::CharacterIterator" ref="a73d8a50abf33ac9da63c3c9d463ef7ab" args="(int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>length</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>textBegin</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>textEnd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>position</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [protected]</code></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#_stable000103">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a5ef75872ea49689d6c75a2597d8028ef"></a><!-- doxytag: member="CharacterIterator::CharacterIterator" ref="a5ef75872ea49689d6c75a2597d8028ef" args="(const CharacterIterator &amp;that)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CharacterIterator::CharacterIterator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCharacterIterator.html">CharacterIterator</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>that</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy constructor. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>that</em>&nbsp;</td><td>The <a class="el" href="classCharacterIterator.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#_stable000104">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="adc8a708194960bd2ed640ba8a23e565a"></a><!-- doxytag: member="CharacterIterator::clone" ref="adc8a708194960bd2ed640ba8a23e565a" args="(void) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classCharacterIterator.html">CharacterIterator</a>* CharacterIterator::clone </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns a pointer to a new <a class="el" href="classCharacterIterator.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="return"><dt><b>Returns:</b></dt><dd>a pointer to a new <a class="el" href="classCharacterIterator.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#_stable000075">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classStringCharacterIterator.html#a63dfbbd9648fc51a2b6ca2aa1547e7bf">StringCharacterIterator</a>, and <a class="el" href="classUCharCharacterIterator.html#ac18052a38fd6f798b35730f9f520670e">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a6a481f104f8b9446c1e95ea4c47d8228"></a><!-- doxytag: member="CharacterIterator::current" ref="a6a481f104f8b9446c1e95ea4c47d8228" args="(void) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::current </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a10965f3134514745a6b5e6b5a7cfe112">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="af2e58620e65172866d073435a3425a11"></a><!-- doxytag: member="CharacterIterator::current32" ref="af2e58620e65172866d073435a3425a11" args="(void) const =0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::current32 </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#aed9f725320ffd71c3371a9f44678f4b5">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a3a4f8b46a10f11f0b2d1a393c02d84e0"></a><!-- doxytag: member="CharacterIterator::endIndex" ref="a3a4f8b46a10f11f0b2d1a393c02d84e0" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t CharacterIterator::endIndex </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></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="classCharacterIterator.html#ace1cd4d7bad7cd6b302df4beef3640be" title="Sets the iterator to refer to the last code unit in its iteration range, and returns...">last()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the numeric index in the underlying text-storage object of the position immediately BEYOND the character returned by <a class="el" href="classCharacterIterator.html#ace1cd4d7bad7cd6b302df4beef3640be" title="Sets the iterator to refer to the last code unit in its iteration range, and returns...">last()</a>. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000094">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="chariter_8h_source.html#l00677">end</a>.</p>

</div>
</div>
<a class="anchor" id="afe22aec945697b4459fb4195e1b621c7"></a><!-- doxytag: member="CharacterIterator::first" ref="afe22aec945697b4459fb4195e1b621c7" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::first </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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="classCharacterIterator.html#a82bd3961ea1e045cbb533633d15ab00d" title="Advances to the next code unit in the iteration range (toward endIndex()), and returns...">next()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first code unit in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000076">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a4af76d76056ee67ffa8bf957dadadb46">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a26486be2a3a24bb1634c3279139d549c"></a><!-- doxytag: member="CharacterIterator::first32" ref="a26486be2a3a24bb1634c3279139d549c" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::first32 </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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="classCharacterIterator.html#a9521fd47c8637a99776254ee0a0d469e" title="Advances to the next code point in the iteration range (toward endIndex()), and returns...">next32()</a>. </p>
<p>Note that an iteration with <a class="el" href="classForwardCharacterIterator.html#acb902b4e8c192937270157bb1afca237" title="Gets the current code point for returning and advances to the next code point in...">next32PostInc()</a>, beginning with, e.g., <a class="el" href="classCharacterIterator.html#a70bb6445dc7e7cafbd02852a8100cd9e" title="Sets the iterator to refer to the first code unit or code point in its iteration...">setToStart()</a> or <a class="el" href="classCharacterIterator.html#afe620dca9c565e933dca7139ab1f4210" title="Sets the iterator to refer to the first code unit in its iteration range, returns...">firstPostInc()</a>, is more efficient. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first code point in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000078">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a75c44dbee395784ca1bc305c0df5ac0a">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a9e13e7752a9a3091476ef3d42252bf40"></a><!-- doxytag: member="CharacterIterator::first32PostInc" ref="a9e13e7752a9a3091476ef3d42252bf40" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::first32PostInc </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></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="classCharacterIterator.html#a70bb6445dc7e7cafbd02852a8100cd9e" title="Sets the iterator to refer to the first code unit or code point in its iteration...">setToStart()</a> for forward iteration with <a class="el" href="classForwardCharacterIterator.html#acb902b4e8c192937270157bb1afca237" title="Gets the current code point for returning and advances to the next code point in...">next32PostInc()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first code point in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000079">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classUCharCharacterIterator.html#a939627c8e79d5eeb58866ec4cf50d8e2">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="afe620dca9c565e933dca7139ab1f4210"></a><!-- doxytag: member="CharacterIterator::firstPostInc" ref="afe620dca9c565e933dca7139ab1f4210" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::firstPostInc </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></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="classCharacterIterator.html#a70bb6445dc7e7cafbd02852a8100cd9e" title="Sets the iterator to refer to the first code unit or code point in its iteration...">setToStart()</a> for forward iteration with <a class="el" href="classForwardCharacterIterator.html#a713194d8a27d3f50fe0454b8286921cc" title="Gets the current code unit for returning and advances to the next code unit in the...">nextPostInc()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the first code unit in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000077">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classUCharCharacterIterator.html#a11ab50c4ae556528779a1b3352a66608">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a522cefaae2a07cd2b2f3282e7da60fdb"></a><!-- doxytag: member="CharacterIterator::getIndex" ref="a522cefaae2a07cd2b2f3282e7da60fdb" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t CharacterIterator::getIndex </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></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="classCharacterIterator.html#a6a481f104f8b9446c1e95ea4c47d8228" title="Returns the code unit the iterator currently refers to.">current()</a>). </p>
<dl class="return"><dt><b>Returns:</b></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#_stable000095">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="chariter_8h_source.html#l00665">pos</a>.</p>

</div>
</div>
<a class="anchor" id="a41436db33a5481117f89b343d47a6e97"></a><!-- doxytag: member="CharacterIterator::getLength" ref="a41436db33a5481117f89b343d47a6e97" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t CharacterIterator::getLength </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the length of the entire text in the underlying text-storage object. </p>
<dl class="return"><dt><b>Returns:</b></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#_stable000096">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="chariter_8h_source.html#l00659">textLength</a>.</p>

</div>
</div>
<a class="anchor" id="a03c54d93e6fe1d3be187c67acb957410"></a><!-- doxytag: member="CharacterIterator::getText" ref="a03c54d93e6fe1d3be187c67acb957410" args="(UnicodeString &amp;result)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void CharacterIterator::getText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>result</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copies the text under iteration into the <a class="el" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> referred to by "result". </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>result</em>&nbsp;</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#_stable000099">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classStringCharacterIterator.html#a6a7a27b16cade56d95388a7134d86cc0">StringCharacterIterator</a>, and <a class="el" href="classUCharCharacterIterator.html#a09f0d751c4215a06c829d0edee036204">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a785a86ae2f1730806eef19595f14d1aa"></a><!-- doxytag: member="CharacterIterator::hasPrevious" ref="a785a86ae2f1730806eef19595f14d1aa" args="()=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> CharacterIterator::hasPrevious </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous()</a> or <a class="el" href="classCharacterIterator.html#a9630a5fbd755633cf46c33c3a42c5457" title="Advances to the previous code point in the iteration range (toward startIndex())...">previous32()</a> in backward iteration. </p>
<dl class="return"><dt><b>Returns:</b></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#_stable000092">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a5bbcb759c08029f37eeb1f84aa4cdf93">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="ace1cd4d7bad7cd6b302df4beef3640be"></a><!-- doxytag: member="CharacterIterator::last" ref="ace1cd4d7bad7cd6b302df4beef3640be" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::last </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000081">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a45a39e51e55dfa159281915aa7750470">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a88c76a273fb1889aa00272fe0965831b"></a><!-- doxytag: member="CharacterIterator::last32" ref="a88c76a273fb1889aa00272fe0965831b" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::last32 </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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="classCharacterIterator.html#a9630a5fbd755633cf46c33c3a42c5457" title="Advances to the previous code point in the iteration range (toward startIndex())...">previous32()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the last code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000082">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a5797ce9b95f2971323f3ce6d18f78115">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a16d3fd1fd0cd893b48a0a5697192d634"></a><!-- doxytag: member="CharacterIterator::move" ref="a16d3fd1fd0cd893b48a0a5697192d634" args="(int32_t delta, EOrigin origin)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t CharacterIterator::move </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>delta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">EOrigin</a>&nbsp;</td>
          <td class="paramname"> <em>origin</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>delta</em>&nbsp;</td><td>the position relative to origin. A positive delta means forward; a negative delta means backward. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>origin</em>&nbsp;</td><td>Origin enumeration {kStart, kCurrent, kEnd} </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the new position </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000097">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a578c741398b7fa617015fb63dd647916">UCharCharacterIterator</a>.</p>

<p>Referenced by <a class="el" href="chariter_8h_source.html#l00691">setToEnd()</a>, and <a class="el" href="chariter_8h_source.html#l00686">setToStart()</a>.</p>

</div>
</div>
<a class="anchor" id="a711c44e0d1a4dbe0a191ff8d2e14b73e"></a><!-- doxytag: member="CharacterIterator::move32" ref="a711c44e0d1a4dbe0a191ff8d2e14b73e" args="(int32_t delta, EOrigin origin)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t CharacterIterator::move32 </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>delta</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classCharacterIterator.html#aa400f3cff117a0e79ab4246c606c9141">EOrigin</a>&nbsp;</td>
          <td class="paramname"> <em>origin</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [pure virtual]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>delta</em>&nbsp;</td><td>the position relative to origin. A positive delta means forward; a negative delta means backward. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>origin</em>&nbsp;</td><td>Origin enumeration {kStart, kCurrent, kEnd} </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the new position </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000098">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a26943e223ac654f34f56ac7b6bce873d">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a82bd3961ea1e045cbb533633d15ab00d"></a><!-- doxytag: member="CharacterIterator::next" ref="a82bd3961ea1e045cbb533633d15ab00d" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::next </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a111aa9828fb355799cbd44357fd1ed16">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a9521fd47c8637a99776254ee0a0d469e"></a><!-- doxytag: member="CharacterIterator::next32" ref="a9521fd47c8637a99776254ee0a0d469e" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::next32 </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Advances to the next code point in the iteration range (toward <a class="el" href="classCharacterIterator.html#a3a4f8b46a10f11f0b2d1a393c02d84e0" title="Returns the numeric index in the underlying text-storage object of the position immediately...">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="classForwardCharacterIterator.html#acb902b4e8c192937270157bb1afca237" title="Gets the current code point for returning and advances to the next code point in...">next32PostInc()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the next code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000089">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a4b98bb816070fdac8751e65e0bcb9d2c">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a24bbd0b8ba0893633c7ddac569f5161a"></a><!-- doxytag: member="CharacterIterator::operator=" ref="a24bbd0b8ba0893633c7ddac569f5161a" args="(const CharacterIterator &amp;that)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCharacterIterator.html">CharacterIterator</a>&amp; CharacterIterator::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCharacterIterator.html">CharacterIterator</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>that</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Assignment operator. </p>
<p>Sets this <a class="el" href="classCharacterIterator.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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>that</em>&nbsp;</td><td>The <a class="el" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> passed in. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the newly set <a class="el" href="classCharacterIterator.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#_stable000105">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented from <a class="el" href="classForwardCharacterIterator.html#a76c13ba2ac6386e2d46ad41df4b7b9a3">ForwardCharacterIterator</a>.</p>

<p>Reimplemented in <a class="el" href="classStringCharacterIterator.html#a4cd551b4e2371ac38288a82b9055fad8">StringCharacterIterator</a>, and <a class="el" href="classUCharCharacterIterator.html#a5843398b927bd88df8bf01d157058152">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a7dfde118a5b6e7755cb4b237c616873f"></a><!-- doxytag: member="CharacterIterator::previous" ref="a7dfde118a5b6e7755cb4b237c616873f" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::previous </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#ac4e824a93673b3f42614b74dbefacece">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a9630a5fbd755633cf46c33c3a42c5457"></a><!-- doxytag: member="CharacterIterator::previous32" ref="a9630a5fbd755633cf46c33c3a42c5457" args="(void)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::previous32 </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#aa01e7b0113a3a0ba158e869ee5aa8fc5">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a0a1fd04a11c18fc3049934b353c431eb"></a><!-- doxytag: member="CharacterIterator::setIndex" ref="a0a1fd04a11c18fc3049934b353c431eb" args="(int32_t position)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> CharacterIterator::setIndex </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>position</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>the "position"-th code unit in the text-storage object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the "position"-th code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000084">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#a92b670d7eb8675c9198ee5cfabaec9fd">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a380715d71de513e075e3e27d2abe595e"></a><!-- doxytag: member="CharacterIterator::setIndex32" ref="a380715d71de513e075e3e27d2abe595e" args="(int32_t position)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> CharacterIterator::setIndex32 </td>
          <td>(</td>
          <td class="paramtype">int32_t&nbsp;</td>
          <td class="paramname"> <em>position</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [pure virtual]</code></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>position</em>&nbsp;</td><td>the "position"-th code unit in the text-storage object </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the "position"-th code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000085">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classUCharCharacterIterator.html#ab6cc35d39638235e83782fdc11ecca93">UCharCharacterIterator</a>.</p>

</div>
</div>
<a class="anchor" id="a38e0b6be47a35be38fc13172d67005f1"></a><!-- doxytag: member="CharacterIterator::setToEnd" ref="a38e0b6be47a35be38fc13172d67005f1" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t CharacterIterator::setToEnd </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></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="classCharacterIterator.html#a7dfde118a5b6e7755cb4b237c616873f" title="Advances to the previous code unit in the iteration range (toward startIndex()),...">previous()</a> or <a class="el" href="classCharacterIterator.html#a9630a5fbd755633cf46c33c3a42c5457" title="Advances to the previous code point in the iteration range (toward startIndex())...">previous32()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the end position of the iteration range </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000083">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="classCharacterIterator.html#a16d3fd1fd0cd893b48a0a5697192d634">move()</a>.</p>

</div>
</div>
<a class="anchor" id="a70bb6445dc7e7cafbd02852a8100cd9e"></a><!-- doxytag: member="CharacterIterator::setToStart" ref="a70bb6445dc7e7cafbd02852a8100cd9e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t CharacterIterator::setToStart </td>
          <td>(</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline]</code></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="classForwardCharacterIterator.html#a713194d8a27d3f50fe0454b8286921cc" title="Gets the current code unit for returning and advances to the next code unit in the...">nextPostInc()</a> or <a class="el" href="classForwardCharacterIterator.html#acb902b4e8c192937270157bb1afca237" title="Gets the current code point for returning and advances to the next code point in...">next32PostInc()</a>. </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>the start position of the iteration range </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000080">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="classCharacterIterator.html#a16d3fd1fd0cd893b48a0a5697192d634">move()</a>.</p>

</div>
</div>
<a class="anchor" id="a9183d23e57ab5571c907295f5a45893d"></a><!-- doxytag: member="CharacterIterator::startIndex" ref="a9183d23e57ab5571c907295f5a45893d" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t CharacterIterator::startIndex </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline]</code></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="classCharacterIterator.html#afe22aec945697b4459fb4195e1b621c7" title="Sets the iterator to refer to the first code unit in its iteration range, and returns...">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="return"><dt><b>Returns:</b></dt><dd>the numeric index in the underlying text-storage object of the character returned by <a class="el" href="classCharacterIterator.html#afe22aec945697b4459fb4195e1b621c7" title="Sets the iterator to refer to the first code unit in its iteration range, and returns...">first()</a>. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000093">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="chariter_8h_source.html#l00671">begin</a>.</p>

</div>
</div>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="ac16ef20e110321b0a78a05193d845dbd"></a><!-- doxytag: member="CharacterIterator::begin" ref="ac16ef20e110321b0a78a05193d845dbd" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t <a class="el" href="classCharacterIterator.html#ac16ef20e110321b0a78a05193d845dbd">CharacterIterator::begin</a><code> [protected]</code></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#_stable000108">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>

<p>Referenced by <a class="el" href="chariter_8h_source.html#l00696">startIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="afccadd77d7c4440b30816c302ece13d5"></a><!-- doxytag: member="CharacterIterator::end" ref="afccadd77d7c4440b30816c302ece13d5" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t <a class="el" href="classCharacterIterator.html#afccadd77d7c4440b30816c302ece13d5">CharacterIterator::end</a><code> [protected]</code></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#_stable000109">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>

<p>Referenced by <a class="el" href="chariter_8h_source.html#l00701">endIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="a31cf308271cffffd314e8e93e7e9518e"></a><!-- doxytag: member="CharacterIterator::pos" ref="a31cf308271cffffd314e8e93e7e9518e" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t <a class="el" href="classCharacterIterator.html#a31cf308271cffffd314e8e93e7e9518e">CharacterIterator::pos</a><code> [protected]</code></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#_stable000107">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>

<p>Referenced by <a class="el" href="chariter_8h_source.html#l00706">getIndex()</a>.</p>

</div>
</div>
<a class="anchor" id="aa30eb2520df4a1737bb8716b07faebc7"></a><!-- doxytag: member="CharacterIterator::textLength" ref="aa30eb2520df4a1737bb8716b07faebc7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t <a class="el" href="classCharacterIterator.html#aa30eb2520df4a1737bb8716b07faebc7">CharacterIterator::textLength</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

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

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

<p>Referenced by <a class="el" href="chariter_8h_source.html#l00711">getLength()</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>
<!--- 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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

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

<hr size="1"/><address style="text-align: right;"><small>Generated on 16 Mar 2010 for ICU 4.4 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>