Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > core-release > by-pkgid > 3a4e91bde08970529a0aa07935652fe8 > files > 426

icu-doc-58.2-3.mga6.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ICU 58.2: icu::ForwardCharacterIterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ICU 58.2
   &#160;<span id="projectnumber">58.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespaceicu.html">icu</a></li><li class="navelem"><a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">icu::ForwardCharacterIterator Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span></div>  </div>
</div><!--header-->
<div class="contents">

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

<p><code>#include &lt;<a class="el" href="chariter_8h_source.html">chariter.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for icu::ForwardCharacterIterator:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classicu_1_1ForwardCharacterIterator.png" usemap="#icu::ForwardCharacterIterator_map" alt=""/>
  <map id="icu::ForwardCharacterIterator_map" name="icu::ForwardCharacterIterator_map">
<area href="classicu_1_1UObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class. " alt="icu::UObject" shape="rect" coords="0,56,180,80"/>
<area href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class. " alt="icu::UMemory" shape="rect" coords="0,0,180,24"/>
<area href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. " alt="icu::CharacterIterator" shape="rect" coords="0,168,180,192"/>
<area href="classicu_1_1UCharCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code units or code points..." alt="icu::UCharCharacterIterator" shape="rect" coords="0,224,180,248"/>
<area href="classicu_1_1StringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code units or code points..." alt="icu::StringCharacterIterator" shape="rect" coords="0,280,180,304"/>
</map>
 </div></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:adbacb49f483a870aefb8e518cc8105c7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <b>DONE</b> = 0xffff
 }<tr class="memdesc:adbacb49f483a870aefb8e518cc8105c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Value returned by most of <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a>'s functions when the iterator has reached the limits of its iteration.  <a href="classicu_1_1ForwardCharacterIterator.html#adbacb49f483a870aefb8e518cc8105c7">More...</a><br /></td></tr>
</td></tr>
<tr class="separator:adbacb49f483a870aefb8e518cc8105c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0efde315650556664036dcd16cbe2722"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a0efde315650556664036dcd16cbe2722">~ForwardCharacterIterator</a> ()</td></tr>
<tr class="memdesc:a0efde315650556664036dcd16cbe2722"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#a0efde315650556664036dcd16cbe2722">More...</a><br /></td></tr>
<tr class="separator:a0efde315650556664036dcd16cbe2722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e1959cb4b14d3a5f3ad18b557fac40f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a4e1959cb4b14d3a5f3ad18b557fac40f">operator==</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;that) const =0</td></tr>
<tr class="memdesc:a4e1959cb4b14d3a5f3ad18b557fac40f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when both iterators refer to the same character in the same character-storage object.  <a href="#a4e1959cb4b14d3a5f3ad18b557fac40f">More...</a><br /></td></tr>
<tr class="separator:a4e1959cb4b14d3a5f3ad18b557fac40f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9572cc0daaa3810b69c366a05d922a2f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a9572cc0daaa3810b69c366a05d922a2f">operator!=</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;that) const </td></tr>
<tr class="memdesc:a9572cc0daaa3810b69c366a05d922a2f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns true when the iterators refer to different text-storage objects, or to different characters in the same text-storage object.  <a href="#a9572cc0daaa3810b69c366a05d922a2f">More...</a><br /></td></tr>
<tr class="separator:a9572cc0daaa3810b69c366a05d922a2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5ca36cca044f5ea8a033c7a359d83a2"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#ab5ca36cca044f5ea8a033c7a359d83a2">hashCode</a> (void) const =0</td></tr>
<tr class="memdesc:ab5ca36cca044f5ea8a033c7a359d83a2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Generates a hash code for this iterator.  <a href="#ab5ca36cca044f5ea8a033c7a359d83a2">More...</a><br /></td></tr>
<tr class="separator:ab5ca36cca044f5ea8a033c7a359d83a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a595cb66f4bf27c7591d0ca51f8587ab0"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a595cb66f4bf27c7591d0ca51f8587ab0">getDynamicClassID</a> (void) const =0</td></tr>
<tr class="memdesc:a595cb66f4bf27c7591d0ca51f8587ab0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a UClassID for this <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> ("poor man's
RTTI").  <a href="#a595cb66f4bf27c7591d0ca51f8587ab0">More...</a><br /></td></tr>
<tr class="separator:a595cb66f4bf27c7591d0ca51f8587ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeb1b03f3f09ae322c73bf687d5c3f75"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75">nextPostInc</a> (void)=0</td></tr>
<tr class="memdesc:adeb1b03f3f09ae322c73bf687d5c3f75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current code unit for returning and advances to the next code unit in the iteration range (toward endIndex()).  <a href="#adeb1b03f3f09ae322c73bf687d5c3f75">More...</a><br /></td></tr>
<tr class="separator:adeb1b03f3f09ae322c73bf687d5c3f75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acccb6c5e433ff1cbaa5830130b569e97"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97">next32PostInc</a> (void)=0</td></tr>
<tr class="memdesc:acccb6c5e433ff1cbaa5830130b569e97"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the current code point for returning and advances to the next code point in the iteration range (toward endIndex()).  <a href="#acccb6c5e433ff1cbaa5830130b569e97">More...</a><br /></td></tr>
<tr class="separator:acccb6c5e433ff1cbaa5830130b569e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf876be6f80694afeeb5086524d249df"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#abf876be6f80694afeeb5086524d249df">hasNext</a> ()=0</td></tr>
<tr class="memdesc:abf876be6f80694afeeb5086524d249df"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns FALSE if there are no more code units or code points at or after the current position in the iteration range.  <a href="#abf876be6f80694afeeb5086524d249df">More...</a><br /></td></tr>
<tr class="separator:abf876be6f80694afeeb5086524d249df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classicu_1_1UObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classicu_1_1UObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classicu_1_1UObject.html">icu::UObject</a></td></tr>
<tr class="memitem:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1UObject.html#af10026497704f510d3d1f2eff50acb18">~UObject</a> ()</td></tr>
<tr class="memdesc:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#af10026497704f510d3d1f2eff50acb18">More...</a><br /></td></tr>
<tr class="separator:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa338d78a701d10d549e3b1bb3dd93e89"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#aa338d78a701d10d549e3b1bb3dd93e89">ForwardCharacterIterator</a> ()</td></tr>
<tr class="memdesc:aa338d78a701d10d549e3b1bb3dd93e89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor to be overridden in the implementing class.  <a href="#aa338d78a701d10d549e3b1bb3dd93e89">More...</a><br /></td></tr>
<tr class="separator:aa338d78a701d10d549e3b1bb3dd93e89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a644d4dc45a418f556f69cff56b31871f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a644d4dc45a418f556f69cff56b31871f">ForwardCharacterIterator</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;other)</td></tr>
<tr class="memdesc:a644d4dc45a418f556f69cff56b31871f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor to be overridden in the implementing class.  <a href="#a644d4dc45a418f556f69cff56b31871f">More...</a><br /></td></tr>
<tr class="separator:a644d4dc45a418f556f69cff56b31871f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b49dbc6510238684b687efb338e77e2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a5b49dbc6510238684b687efb338e77e2">operator=</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;)</td></tr>
<tr class="memdesc:a5b49dbc6510238684b687efb338e77e2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator to be overridden in the implementing class.  <a href="#a5b49dbc6510238684b687efb338e77e2">More...</a><br /></td></tr>
<tr class="separator:a5b49dbc6510238684b687efb338e77e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Abstract class that defines an API for forward-only iteration on text objects. </p>
<p>This is a minimal interface for iteration without random access or backwards iteration. It is especially useful for wrapping streams with converters into an object for collation or normalization.</p>
<p>Characters can be accessed in two ways: as code units or as code points. Unicode code points are 21-bit integers and are the scalar values of Unicode characters. ICU uses the type UChar32 for them. Unicode code units are the storage units of a given Unicode/UCS Transformation <a class="el" href="classicu_1_1Format.html" title="Base class for all formats. ">Format</a> (a character encoding scheme). With UTF-16, all code points can be represented with either one or two code units ("surrogates"). String storage is typically based on code units, while properties of characters are typically determined using code point values. Some processes may be designed to work with sequences of code units, or it may be known that all characters that are important to an algorithm can be represented with single code units. Other processes will need to use the code point access functions.</p>
<p><a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> provides <a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a> to access a code unit and advance an internal position into the text object, similar to a <code>return text[position++]</code>.<br />
 It provides <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a> to access a code point and advance an internal position.</p>
<p><a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a> assumes that the current position is that of the beginning of a code point, i.e., of its first code unit. After <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>, this will be true again. In general, access to code units and code points in the same iteration loop should not be mixed. In UTF-16, if the current position is on a second code unit (Low Surrogate), then only that code unit is returned even by <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>.</p>
<p>For iteration with either function, there are two ways to check for the end of the iteration. When there are no more characters in the text object: </p><ul>
<li>
The <a class="el" href="classicu_1_1ForwardCharacterIterator.html#abf876be6f80694afeeb5086524d249df" title="Returns FALSE if there are no more code units or code points at or after the current position in the ...">hasNext()</a> function returns FALSE. </li>
<li>
<a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a> and <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a> return DONE when one attempts to read beyond the end of the text object. </li>
</ul>
<p>Example: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> function1(<a class="code" href="classicu_1_1ForwardCharacterIterator.html#aa338d78a701d10d549e3b1bb3dd93e89">ForwardCharacterIterator</a> &amp;it) {</div><div class="line">    <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c;</div><div class="line">    <span class="keywordflow">while</span>(it.hasNext()) {</div><div class="line">        c=it.next32PostInc();</div><div class="line">        <span class="comment">// use c</span></div><div class="line">    }</div><div class="line">}</div><div class="line"></div><div class="line"><span class="keywordtype">void</span> function1(<a class="code" href="classicu_1_1ForwardCharacterIterator.html#aa338d78a701d10d549e3b1bb3dd93e89">ForwardCharacterIterator</a> &amp;it) {</div><div class="line">    <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> c;</div><div class="line">    <span class="keywordflow">while</span>((c=it.nextPostInc())!=ForwardCharacterIterator::DONE) {</div><div class="line">        <span class="comment">// use c</span></div><div class="line">     }</div><div class="line"> }</div></div><!-- fragment --> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000111">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="chariter_8h_source.html#l00091">91</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a class="anchor" id="adbacb49f483a870aefb8e518cc8105c7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Value returned by most of <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a>'s functions when the iterator has reached the limits of its iteration. </p>
<dl class="stable"><dt><b>Stable:</b></dt><dd>ICU 2.0 </dd></dl>

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

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

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

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

<p>Default constructor to be overridden in the implementing class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000122">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Copy constructor to be overridden in the implementing class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000123">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Returns a UClassID for this <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> ("poor man's
RTTI"). </p>
<p>Despite the fact that this function is public, DO NOT CONSIDER IT PART OF CHARACTERITERATOR'S API! </p><dl class="section return"><dt>Returns</dt><dd>a UClassID for this <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000118">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented from <a class="el" href="classicu_1_1UObject.html#a1aa93096e880907080b503ff1fb0f8bc">icu::UObject</a>.</p>

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

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

<p>Generates a hash code for this iterator. </p>
<dl class="section return"><dt>Returns</dt><dd>the hash code. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000117">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

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

<p>Returns FALSE if there are no more code units or code points at or after the current position in the iteration range. </p>
<p>This is used with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#adeb1b03f3f09ae322c73bf687d5c3f75" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a> or <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a> in forward iteration. </p><dl class="section return"><dt>Returns</dt><dd>FALSE if there are no more code units or code points at or after the current position in the iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000121">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

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

<p>Gets the current code point for returning and advances to the next code point in the iteration range (toward endIndex()). </p>
<p>If there are no more code points to return, returns DONE. </p><dl class="section return"><dt>Returns</dt><dd>the current code point. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000120">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

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

<p>Gets the current code unit for returning and advances to the next code unit in the iteration range (toward endIndex()). </p>
<p>If there are no more code units to return, returns DONE. </p><dl class="section return"><dt>Returns</dt><dd>the current code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000119">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a class="anchor" id="a9572cc0daaa3810b69c366a05d922a2f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> icu::ForwardCharacterIterator::operator!= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>that</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true when the iterators refer to different text-storage objects, or to different characters in the same text-storage object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td>The <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> to be compared for inequality </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true when the iterators refer to different text-storage objects, or to different characters in the same text-storage object </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000116">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>References <a class="el" href="classicu_1_1ForwardCharacterIterator.html#a4e1959cb4b14d3a5f3ad18b557fac40f">operator==()</a>.</p>

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

<p>Assignment operator to be overridden in the implementing class. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000124">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a class="anchor" id="a4e1959cb4b14d3a5f3ad18b557fac40f"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> icu::ForwardCharacterIterator::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>that</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns true when both iterators refer to the same character in the same character-storage object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td>The <a class="el" href="classicu_1_1ForwardCharacterIterator.html" title="Abstract class that defines an API for forward-only iteration on text objects. ">ForwardCharacterIterator</a> to be compared for equality </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true when both iterators refer to the same character in the same character-storage object </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000115">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Referenced by <a class="el" href="chariter_8h_source.html#l00689">operator!=()</a>.</p>

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