404 Not Found


nginx
beegazpacho.com - GrazzMean
Uname: Linux in-mum-web1557.main-hosting.eu 5.14.0-611.42.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Mar 24 05:30:20 EDT 2026 x86_64
Software: LiteSpeed
PHP version: 8.2.30 [ PHP INFO ] PHP os: Linux
Server Ip: 147.79.69.70
Your Ip: 216.73.216.168
User: u848900432 (848900432) | Group: o51372345 (1051372345)
Safe Mode: OFF
Disable Function:
NONE

name : classCharacterIterator.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: icu::CharacterIterator Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 77.1
   &#160;<span id="projectnumber">77.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

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

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

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

<p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00361">361</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p>
</div><h2 class="groupheader">Member Enumeration Documentation</h2>
<a id="a065aff1d713f7659faba4951d16f5f38"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a065aff1d713f7659faba4951d16f5f38">&#9670;&nbsp;</a></span>EOrigin</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classicu_1_1CharacterIterator.html#a065aff1d713f7659faba4951d16f5f38">icu::CharacterIterator::EOrigin</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

<p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00367">367</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 id="a6f02b160cc84f55de41adc72cbb9b9ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f02b160cc84f55de41adc72cbb9b9ed">&#9670;&nbsp;</a></span>~CharacterIterator()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual icu::CharacterIterator::~CharacterIterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

</div>
</div>
<a id="af16635194b2dd485f35a6f2c35240cf2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af16635194b2dd485f35a6f2c35240cf2">&#9670;&nbsp;</a></span>CharacterIterator() <span class="overload">[1/5]</span></h2>

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

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

</div>
</div>
<a id="a8b5f0102a268c1d7e74bdb03fdfbf59d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b5f0102a268c1d7e74bdb03fdfbf59d">&#9670;&nbsp;</a></span>CharacterIterator() <span class="overload">[2/5]</span></h2>

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

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

</div>
</div>
<a id="a20e82be8c18df7bc236e3f66d3c5ce68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20e82be8c18df7bc236e3f66d3c5ce68">&#9670;&nbsp;</a></span>CharacterIterator() <span class="overload">[3/5]</span></h2>

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

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

</div>
</div>
<a id="ae6aef71dcd8da9e3643f36563c1bf2e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae6aef71dcd8da9e3643f36563c1bf2e8">&#9670;&nbsp;</a></span>CharacterIterator() <span class="overload">[4/5]</span></h2>

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

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

</div>
</div>
<a id="ab768bb7859a8801c0d895dcb032a195d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab768bb7859a8801c0d895dcb032a195d">&#9670;&nbsp;</a></span>CharacterIterator() <span class="overload">[5/5]</span></h2>

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

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

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a958ce017088ad4eebbce2524cd614c6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a958ce017088ad4eebbce2524cd614c6b">&#9670;&nbsp;</a></span>clone()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a>* icu::CharacterIterator::clone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

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

</div>
</div>
<a id="a6f0c6d250baad1dba12469b076204259"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6f0c6d250baad1dba12469b076204259">&#9670;&nbsp;</a></span>current()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::current </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

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

</div>
</div>
<a id="ab9eb66bc8c1e7bb4f586201456959757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9eb66bc8c1e7bb4f586201456959757">&#9670;&nbsp;</a></span>current32()</h2>

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

<p>Returns the code point the iterator currently refers to. </p>
<p><br  />
 </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#_stable000176">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a id="a73e20de1c8748f4689fbb7c32b7e8b34"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73e20de1c8748f4689fbb7c32b7e8b34">&#9670;&nbsp;</a></span>endIndex()</h2>

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

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

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

</div>
</div>
<a id="ad6319289e81edc4bacce680a192011e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6319289e81edc4bacce680a192011e9">&#9670;&nbsp;</a></span>first()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::first </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>Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit. </p>
<p>This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a427d140fc143060f11921138b7eca0e9" title="Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...">next()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the first code unit in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000165">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a id="a413e8cf1aefcfbbeeda0b234a9d27d51"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a413e8cf1aefcfbbeeda0b234a9d27d51">&#9670;&nbsp;</a></span>first32()</h2>

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

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

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

</div>
</div>
<a id="ab6c39b924b47c6433ac274aa603651df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab6c39b924b47c6433ac274aa603651df">&#9670;&nbsp;</a></span>first32PostInc()</h2>

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

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

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

</div>
</div>
<a id="a022ba099b591b768bcbf294a8377cba8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a022ba099b591b768bcbf294a8377cba8">&#9670;&nbsp;</a></span>firstPostInc()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::firstPostInc </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>Sets the iterator to refer to the first code unit in its iteration range, returns that code unit, and moves the position to the second code unit. </p>
<p>This is an alternative to <a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa" title="Sets the iterator to refer to the first code unit or code point in its iteration range.">setToStart()</a> for forward iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#ae8afa480f9b5ed1f7d02e9ac7f282570" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the first code unit in its iteration range. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000166">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a id="ab0b409a0d3672619011b2a3655fbb8a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0b409a0d3672619011b2a3655fbb8a4">&#9670;&nbsp;</a></span>getIndex()</h2>

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

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

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

</div>
</div>
<a id="af5697904edc5252ec6c7f6f69a7566bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af5697904edc5252ec6c7f6f69a7566bd">&#9670;&nbsp;</a></span>getLength()</h2>

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

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

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

</div>
</div>
<a id="a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a71011a2d6f91c7f4ca2c1a2fe6fc7f">&#9670;&nbsp;</a></span>getText()</h2>

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

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

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

</div>
</div>
<a id="ac83ac180f319b25a9e6ab1a80d66d928"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac83ac180f319b25a9e6ab1a80d66d928">&#9670;&nbsp;</a></span>hasPrevious()</h2>

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

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

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

</div>
</div>
<a id="a229f7148e8828f4a36df8f8c89e633a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a229f7148e8828f4a36df8f8c89e633a5">&#9670;&nbsp;</a></span>last()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::last </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>Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit. </p>
<p>This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#ad35d0bdd91c91aabb8a51bdb7ce98dd9" title="Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...">previous()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the last code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000170">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a id="a53e8ec6b96b5fe6fa0c70609c640eafd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53e8ec6b96b5fe6fa0c70609c640eafd">&#9670;&nbsp;</a></span>last32()</h2>

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

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

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

</div>
</div>
<a id="a37e9b91a0bd0e9dde2761b603560da9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a37e9b91a0bd0e9dde2761b603560da9d">&#9670;&nbsp;</a></span>move()</h2>

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

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

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

</div>
</div>
<a id="aac9a417f50cd4d741da7fac3429dad0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac9a417f50cd4d741da7fac3429dad0d">&#9670;&nbsp;</a></span>move32()</h2>

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

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

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

</div>
</div>
<a id="a427d140fc143060f11921138b7eca0e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a427d140fc143060f11921138b7eca0e9">&#9670;&nbsp;</a></span>next()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::next </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>Advances to the next code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a73e20de1c8748f4689fbb7c32b7e8b34" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code unit. </p>
<p>If there are no more code units to return, returns DONE. </p><dl class="section return"><dt>Returns</dt><dd>the next code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000177">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a id="a9d79153b5c18925aa05fadafbf193665"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9d79153b5c18925aa05fadafbf193665">&#9670;&nbsp;</a></span>next32()</h2>

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

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

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

</div>
</div>
<a id="af3fd5df0081fd8fccffdd4f1bd8a8811"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af3fd5df0081fd8fccffdd4f1bd8a8811">&#9670;&nbsp;</a></span>operator=()</h2>

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

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

</div>
</div>
<a id="ad35d0bdd91c91aabb8a51bdb7ce98dd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad35d0bdd91c91aabb8a51bdb7ce98dd9">&#9670;&nbsp;</a></span>previous()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::previous </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>Advances to the previous code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#af513ad27eb8e98714b863834c687ce22" title="Returns the numeric index in the underlying text-storage object of the character returned by first().">startIndex()</a>), and returns that code unit. </p>
<p>If there are no more code units to return, returns DONE. <br  />
 </p><dl class="section return"><dt>Returns</dt><dd>the previous code unit. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000179">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a id="a20742fb6f9b85d4520730768edc229ab"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20742fb6f9b85d4520730768edc229ab">&#9670;&nbsp;</a></span>previous32()</h2>

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

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

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

</div>
</div>
<a id="ade1384a90f7290121ac40f851aac4f82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ade1384a90f7290121ac40f851aac4f82">&#9670;&nbsp;</a></span>setIndex()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual char16_t icu::CharacterIterator::setIndex </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

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

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

</div>
</div>
<a id="a8519987104888e1af043b146971b6793"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8519987104888e1af043b146971b6793">&#9670;&nbsp;</a></span>setIndex32()</h2>

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

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

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

</div>
</div>
<a id="ac5cff21d4826f4f655303de8fecb5ce5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5cff21d4826f4f655303de8fecb5ce5">&#9670;&nbsp;</a></span>setToEnd()</h2>

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

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

<p class="definition">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>

</div>
</div>
<a id="ac6e8c16981c7481256c50ab7145185aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6e8c16981c7481256c50ab7145185aa">&#9670;&nbsp;</a></span>setToStart()</h2>

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

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

<p class="definition">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>

</div>
</div>
<a id="af513ad27eb8e98714b863834c687ce22"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af513ad27eb8e98714b863834c687ce22">&#9670;&nbsp;</a></span>startIndex()</h2>

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

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

<p class="definition">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>

</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a id="a8a08a04f80fc138a3dee27915412bdec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8a08a04f80fc138a3dee27915412bdec">&#9670;&nbsp;</a></span>begin</h2>

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

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

<p class="definition">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>

</div>
</div>
<a id="aa3722479f3191d6bcad48a24bd6c8f3e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3722479f3191d6bcad48a24bd6c8f3e">&#9670;&nbsp;</a></span>end</h2>

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

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

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

</div>
</div>
<a id="a974c6d9bbf0ae1a74688ffdbfc08ad17"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a974c6d9bbf0ae1a74688ffdbfc08ad17">&#9670;&nbsp;</a></span>pos</h2>

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

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

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

</div>
</div>
<a id="a089ec2c9e1cbe7b6b170723c38fd2e55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a089ec2c9e1cbe7b6b170723c38fd2e55">&#9670;&nbsp;</a></span>textLength</h2>

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

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

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

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>common/unicode/<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="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
© 2026 GrazzMean
Beegazpacho


Let’s  Start  Your  Online  Journey  with  Beegazpacho 

Welcome to Beegazpacho,
where creativity meets strategy,
and innovation drives success.


Contact
Now


OUR CLIENTS

WhatsApp-Image-2021-12-06.png
Untitled-design-11.png
niaf-logo.png
20220406-163308-scaled.jpg
karchi-logo.png
20220405-171252.png
20220405-171309.png
20220321-161603.png
20220321-161611.png
20220321-161628.png
20220321-161244.png
20220321-161256.png
20220321-161450.png
20220321-161205.png
20220226-170222.png
20220321-161051.png
20211202-170852.png
Untitled-design-9
pidilite-png-logo-colour
logo-black-e1706125740216-qisosldqhzgcaerhdt6n4t3m4s50jr0iik48z0h5vk
Fraikin-Dayim-logo-1
hpcl-logo-2-1
services

Transforming Ideas into
Success

.01
Digital Marketing

We drive growth through data-driven strategies and cutting-edge techniques.

Learn More

.02
SEO

Improve your online visibility and rank higher on search engines with our expert SEO services.

Learn More

.03
Website Designing

We design websites that are not only visually stunning but also user-centric, ensuring seamless navigation and enhanced user experience.

Learn More

.04
App Development

Our apps are crafted to be intuitive, engaging, and functional, providing your users with an exceptional mobile experience.

Learn More

.05
Social Media Ads

Target the right audience with precision and creativity to maximize engagement and conversions.

Learn More

.06
Google Ads

Maximize ROI with precision-targeted campaigns on Google’s powerful ad platform.

Learn More

.07
Google My Business

Optimize your local presence with strategies that put your business on the map and attract more customers.

Learn More

.08
Graphic Designing

Our designs tell your brand’s story in a visually compelling way.

Learn More

.09
3D Videos

Bring your product to life with immersive and dynamic 3D explainer videos.

Learn More

about BEEGAZPACHO

creating special Things
For special brands

Join the ranks of successful brands by partnering with Beegazpacho

00+

Happy Customer

00+

Continents

Our vision is not just to be a service provider but to be your partner in growth. We see ourselves as an extension of your team, working tirelessly to ensure that your brand not only meets its goals but surpasses them.

Explore
more

Our Recent Work

Crafted with Passion and Precision

Connect now


Web Design
Design, Development & Identity

Logo Design
Design, Development & Identity

Creative Brand design
Design, Development & Identity

Product Design Marketing
Design, Development & Identity

DIGITAL MARKETING
SEO
WEBSITE DESIGNING
APP DEVELOPMENT
SOCIAL MEDIA ADS
GOOGLE ADS
GOOGLE MY BUSINESS
GRAPHIC DESINING
3D VIDEOS
Client Stories

Hear It from Those Who Know Us Best

Our clients’ success stories speak volumes about our commitment to excellence. Don’t just take our word for it—hear directly from the brands we’ve partnered with. Their testimonials highlight our ability to bring visions to life and create a lasting impact on their businesses.

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors