📁 File Manager Pro
v10.0.3 | PHP: 8.1.34
Server: Apache
2026-06-22 22:02:31
📂
/ (Root)
/
opt
/
alt
/
alt-nodejs11
/
root
/
usr
/
share
/
doc
/
alt-nodejs11-libicu-doc
📍 /opt/alt/alt-nodejs11/root/usr/share/doc/alt-nodejs11-libicu-doc
🔄 Refresh
✏️
Editing: classCharacterIterator.html
Read Only
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <meta http-equiv="X-UA-Compatible" content="IE=9"/> <meta name="generator" content="Doxygen 1.8.14"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>ICU 64.2: 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="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 64.2  <span id="projectnumber">64.2</span> </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.14 --> <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&dn=gpl-2.0.txt GPL-v2 */ $(function() { initMenu('',false,false,'search.php','Search'); }); /* @license-end */</script> <div id="main-nav"></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> | <a href="#pub-methods">Public Member Functions</a> | <a href="#pro-methods">Protected Member Functions</a> | <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 <<a class="el" href="chariter_8h_source.html">chariter.h</a>></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 "boilerplate" 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  </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"> </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"> </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="-"/> 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  </td><td class="memItemRight" valign="bottom">{ <b>DONE</b> = 0xffff }</td></tr> <tr class="memdesc:adbacb49f483a870aefb8e518cc8105c7"><td class="mdescLeft"> </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"> </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 </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"> </td><td class="mdescRight">Destructor. <a href="#a6f02b160cc84f55de41adc72cbb9b9ed">More...</a><br /></td></tr> <tr class="separator:a6f02b160cc84f55de41adc72cbb9b9ed"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b3d69e0cbc3a22f7fc87f78b78c7ca2"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a8b3d69e0cbc3a22f7fc87f78b78c7ca2">clone</a> (void) const =0</td></tr> <tr class="memdesc:a8b3d69e0cbc3a22f7fc87f78b78c7ca2"><td class="mdescLeft"> </td><td class="mdescRight">Returns a pointer to a new <a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a> of the same concrete class as this one, and referring to the same character in the same text-storage object as this one. <a href="#a8b3d69e0cbc3a22f7fc87f78b78c7ca2">More...</a><br /></td></tr> <tr class="separator:a8b3d69e0cbc3a22f7fc87f78b78c7ca2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a239bb6a42f08760fa50ffa4aa9022adc"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a239bb6a42f08760fa50ffa4aa9022adc">first</a> (void)=0</td></tr> <tr class="memdesc:a239bb6a42f08760fa50ffa4aa9022adc"><td class="mdescLeft"> </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="#a239bb6a42f08760fa50ffa4aa9022adc">More...</a><br /></td></tr> <tr class="separator:a239bb6a42f08760fa50ffa4aa9022adc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6f68230f51dc9d02647dfa6a9f2e79ce"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a6f68230f51dc9d02647dfa6a9f2e79ce">firstPostInc</a> (void)</td></tr> <tr class="memdesc:a6f68230f51dc9d02647dfa6a9f2e79ce"><td class="mdescLeft"> </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="#a6f68230f51dc9d02647dfa6a9f2e79ce">More...</a><br /></td></tr> <tr class="separator:a6f68230f51dc9d02647dfa6a9f2e79ce"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a89548cc913bf599865c9098638a9c2e7"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a89548cc913bf599865c9098638a9c2e7">first32</a> (void)=0</td></tr> <tr class="memdesc:a89548cc913bf599865c9098638a9c2e7"><td class="mdescLeft"> </td><td class="mdescRight">Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a6e9a84b89a0d3fe7aae189f744576b00" title="Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...">next32()</a>. <a href="#a89548cc913bf599865c9098638a9c2e7">More...</a><br /></td></tr> <tr class="separator:a89548cc913bf599865c9098638a9c2e7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a10b0383da1187bb22b46412ca46da1f4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a10b0383da1187bb22b46412ca46da1f4">first32PostInc</a> (void)</td></tr> <tr class="memdesc:a10b0383da1187bb22b46412ca46da1f4"><td class="mdescLeft"> </td><td class="mdescRight">Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point. <a href="#a10b0383da1187bb22b46412ca46da1f4">More...</a><br /></td></tr> <tr class="separator:a10b0383da1187bb22b46412ca46da1f4"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac6e8c16981c7481256c50ab7145185aa"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </td><td class="mdescRight">Sets the iterator to refer to the first code unit or code point in its iteration range. <a href="#ac6e8c16981c7481256c50ab7145185aa">More...</a><br /></td></tr> <tr class="separator:ac6e8c16981c7481256c50ab7145185aa"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aee514541776ea1aa345dbc57d672ca4b"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#aee514541776ea1aa345dbc57d672ca4b">last</a> (void)=0</td></tr> <tr class="memdesc:aee514541776ea1aa345dbc57d672ca4b"><td class="mdescLeft"> </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="#aee514541776ea1aa345dbc57d672ca4b">More...</a><br /></td></tr> <tr class="separator:aee514541776ea1aa345dbc57d672ca4b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a86fc3990c224e4df431e6b93bb757298"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a86fc3990c224e4df431e6b93bb757298">last32</a> (void)=0</td></tr> <tr class="memdesc:a86fc3990c224e4df431e6b93bb757298"><td class="mdescLeft"> </td><td class="mdescRight">Sets the iterator to refer to the last code point in its iteration range, and returns that code unit. <a href="#a86fc3990c224e4df431e6b93bb757298">More...</a><br /></td></tr> <tr class="separator:a86fc3990c224e4df431e6b93bb757298"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac5cff21d4826f4f655303de8fecb5ce5"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </td><td class="mdescRight">Sets the iterator to the end of its iteration range, just behind the last code unit or code point. <a href="#ac5cff21d4826f4f655303de8fecb5ce5">More...</a><br /></td></tr> <tr class="separator:ac5cff21d4826f4f655303de8fecb5ce5"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ade1384a90f7290121ac40f851aac4f82"><td class="memItemLeft" align="right" valign="top">virtual char16_t </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"> </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="#ade1384a90f7290121ac40f851aac4f82">More...</a><br /></td></tr> <tr class="separator:ade1384a90f7290121ac40f851aac4f82"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8519987104888e1af043b146971b6793"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </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"> </td><td class="mdescRight">Sets the iterator to refer to the beginning of the code point that contains the "position"-th code unit in the text-storage object the iterator refers to, and returns that code point. <a href="#a8519987104888e1af043b146971b6793">More...</a><br /></td></tr> <tr class="separator:a8519987104888e1af043b146971b6793"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43a3dc93fd75548bb24507ebcf9b7d12"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a43a3dc93fd75548bb24507ebcf9b7d12">current</a> (void) const =0</td></tr> <tr class="memdesc:a43a3dc93fd75548bb24507ebcf9b7d12"><td class="mdescLeft"> </td><td class="mdescRight">Returns the code unit the iterator currently refers to. <a href="#a43a3dc93fd75548bb24507ebcf9b7d12">More...</a><br /></td></tr> <tr class="separator:a43a3dc93fd75548bb24507ebcf9b7d12"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a946220338dce1cb3151ef3dbd6a7c943"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a946220338dce1cb3151ef3dbd6a7c943">current32</a> (void) const =0</td></tr> <tr class="memdesc:a946220338dce1cb3151ef3dbd6a7c943"><td class="mdescLeft"> </td><td class="mdescRight">Returns the code point the iterator currently refers to. <a href="#a946220338dce1cb3151ef3dbd6a7c943">More...</a><br /></td></tr> <tr class="separator:a946220338dce1cb3151ef3dbd6a7c943"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a880ae519d23192c93934c7da1cb4252a"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a880ae519d23192c93934c7da1cb4252a">next</a> (void)=0</td></tr> <tr class="memdesc:a880ae519d23192c93934c7da1cb4252a"><td class="mdescLeft"> </td><td class="mdescRight">Advances to the next code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a771b2ba4dcfea5b8d97040a4c6868826" 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="#a880ae519d23192c93934c7da1cb4252a">More...</a><br /></td></tr> <tr class="separator:a880ae519d23192c93934c7da1cb4252a"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6e9a84b89a0d3fe7aae189f744576b00"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a6e9a84b89a0d3fe7aae189f744576b00">next32</a> (void)=0</td></tr> <tr class="memdesc:a6e9a84b89a0d3fe7aae189f744576b00"><td class="mdescLeft"> </td><td class="mdescRight">Advances to the next code point in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a771b2ba4dcfea5b8d97040a4c6868826" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code point. <a href="#a6e9a84b89a0d3fe7aae189f744576b00">More...</a><br /></td></tr> <tr class="separator:a6e9a84b89a0d3fe7aae189f744576b00"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8738a4c0854a6c29dfb6de9313f78107"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a8738a4c0854a6c29dfb6de9313f78107">previous</a> (void)=0</td></tr> <tr class="memdesc:a8738a4c0854a6c29dfb6de9313f78107"><td class="mdescLeft"> </td><td class="mdescRight">Advances to the previous code unit in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a09aaebb295bef0d854e68bd648853eb0" 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="#a8738a4c0854a6c29dfb6de9313f78107">More...</a><br /></td></tr> <tr class="separator:a8738a4c0854a6c29dfb6de9313f78107"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa4e10820fbdb4dda83464e4bb629cbdb"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb">previous32</a> (void)=0</td></tr> <tr class="memdesc:aa4e10820fbdb4dda83464e4bb629cbdb"><td class="mdescLeft"> </td><td class="mdescRight">Advances to the previous code point in the iteration range (toward <a class="el" href="classicu_1_1CharacterIterator.html#a09aaebb295bef0d854e68bd648853eb0" title="Returns the numeric index in the underlying text-storage object of the character returned by first()...">startIndex()</a>), and returns that code point. <a href="#aa4e10820fbdb4dda83464e4bb629cbdb">More...</a><br /></td></tr> <tr class="separator:aa4e10820fbdb4dda83464e4bb629cbdb"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac83ac180f319b25a9e6ab1a80d66d928"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> </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"> </td><td class="mdescRight">Returns FALSE if there are no more code units or code points before the current position in the iteration range. <a href="#ac83ac180f319b25a9e6ab1a80d66d928">More...</a><br /></td></tr> <tr class="separator:ac83ac180f319b25a9e6ab1a80d66d928"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a09aaebb295bef0d854e68bd648853eb0"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a09aaebb295bef0d854e68bd648853eb0">startIndex</a> (void) const</td></tr> <tr class="memdesc:a09aaebb295bef0d854e68bd648853eb0"><td class="mdescLeft"> </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#a239bb6a42f08760fa50ffa4aa9022adc" title="Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...">first()</a>. <a href="#a09aaebb295bef0d854e68bd648853eb0">More...</a><br /></td></tr> <tr class="separator:a09aaebb295bef0d854e68bd648853eb0"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a771b2ba4dcfea5b8d97040a4c6868826"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a771b2ba4dcfea5b8d97040a4c6868826">endIndex</a> (void) const</td></tr> <tr class="memdesc:a771b2ba4dcfea5b8d97040a4c6868826"><td class="mdescLeft"> </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#aee514541776ea1aa345dbc57d672ca4b" title="Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...">last()</a>. <a href="#a771b2ba4dcfea5b8d97040a4c6868826">More...</a><br /></td></tr> <tr class="separator:a771b2ba4dcfea5b8d97040a4c6868826"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a6d1674edfb18fe904a8fe189e0dd5dc1"><td class="memItemLeft" align="right" valign="top">int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1CharacterIterator.html#a6d1674edfb18fe904a8fe189e0dd5dc1">getIndex</a> (void) const</td></tr> <tr class="memdesc:a6d1674edfb18fe904a8fe189e0dd5dc1"><td class="mdescLeft"> </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#a43a3dc93fd75548bb24507ebcf9b7d12" title="Returns the code unit the iterator currently refers to. ">current()</a>). <a href="#a6d1674edfb18fe904a8fe189e0dd5dc1">More...</a><br /></td></tr> <tr class="separator:a6d1674edfb18fe904a8fe189e0dd5dc1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af5697904edc5252ec6c7f6f69a7566bd"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </td><td class="mdescRight">Returns the length of the entire text in the underlying text-storage object. <a href="#af5697904edc5252ec6c7f6f69a7566bd">More...</a><br /></td></tr> <tr class="separator:af5697904edc5252ec6c7f6f69a7566bd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a37e9b91a0bd0e9dde2761b603560da9d"><td class="memItemLeft" align="right" valign="top">virtual int32_t </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"> </td><td class="mdescRight">Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. <a href="#a37e9b91a0bd0e9dde2761b603560da9d">More...</a><br /></td></tr> <tr class="separator:a37e9b91a0bd0e9dde2761b603560da9d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aac9a417f50cd4d741da7fac3429dad0d"><td class="memItemLeft" align="right" valign="top">virtual int32_t </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"> </td><td class="mdescRight">Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. <a href="#aac9a417f50cd4d741da7fac3429dad0d">More...</a><br /></td></tr> <tr class="separator:aac9a417f50cd4d741da7fac3429dad0d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"><td class="memItemLeft" align="right" valign="top">virtual void </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> &result)=0</td></tr> <tr class="memdesc:a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"><td class="mdescLeft"> </td><td class="mdescRight">Copies the text under iteration into the <a class="el" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> referred to by "result". <a href="#a2a71011a2d6f91c7f4ca2c1a2fe6fc7f">More...</a><br /></td></tr> <tr class="separator:a2a71011a2d6f91c7f4ca2c1a2fe6fc7f"><td class="memSeparator" colspan="2"> </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="-"/> 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 </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"> </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"> </td></tr> <tr class="memitem:a4e1959cb4b14d3a5f3ad18b557fac40f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a4e1959cb4b14d3a5f3ad18b557fac40f">operator==</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &that) const =0</td></tr> <tr class="memdesc:a4e1959cb4b14d3a5f3ad18b557fac40f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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#a4e1959cb4b14d3a5f3ad18b557fac40f">More...</a><br /></td></tr> <tr class="separator:a4e1959cb4b14d3a5f3ad18b557fac40f inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab8c2eaafc53c80ac58ba30a6e7259390 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#ab8c2eaafc53c80ac58ba30a6e7259390">operator!=</a> (const <a class="el" href="classicu_1_1ForwardCharacterIterator.html">ForwardCharacterIterator</a> &that) const</td></tr> <tr class="memdesc:ab8c2eaafc53c80ac58ba30a6e7259390 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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#ab8c2eaafc53c80ac58ba30a6e7259390">More...</a><br /></td></tr> <tr class="separator:ab8c2eaafc53c80ac58ba30a6e7259390 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab5ca36cca044f5ea8a033c7a359d83a2 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual int32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#ab5ca36cca044f5ea8a033c7a359d83a2">hashCode</a> (void) const =0</td></tr> <tr class="memdesc:ab5ca36cca044f5ea8a033c7a359d83a2 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </td><td class="mdescRight">Generates a hash code for this iterator. <a href="classicu_1_1ForwardCharacterIterator.html#ab5ca36cca044f5ea8a033c7a359d83a2">More...</a><br /></td></tr> <tr class="separator:ab5ca36cca044f5ea8a033c7a359d83a2 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a595cb66f4bf27c7591d0ca51f8587ab0 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#a595cb66f4bf27c7591d0ca51f8587ab0">getDynamicClassID</a> (void) const =0</td></tr> <tr class="memdesc:a595cb66f4bf27c7591d0ca51f8587ab0 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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#a595cb66f4bf27c7591d0ca51f8587ab0">More...</a><br /></td></tr> <tr class="separator:a595cb66f4bf27c7591d0ca51f8587ab0 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ac0adb7d361dcf2f03a2234773401b570 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual char16_t </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#ac0adb7d361dcf2f03a2234773401b570">nextPostInc</a> (void)=0</td></tr> <tr class="memdesc:ac0adb7d361dcf2f03a2234773401b570 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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#ac0adb7d361dcf2f03a2234773401b570">More...</a><br /></td></tr> <tr class="separator:ac0adb7d361dcf2f03a2234773401b570 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:acccb6c5e433ff1cbaa5830130b569e97 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97">next32PostInc</a> (void)=0</td></tr> <tr class="memdesc:acccb6c5e433ff1cbaa5830130b569e97 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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#acccb6c5e433ff1cbaa5830130b569e97">More...</a><br /></td></tr> <tr class="separator:acccb6c5e433ff1cbaa5830130b569e97 inherit pub_methods_classicu_1_1ForwardCharacterIterator"><td class="memSeparator" colspan="2"> </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> </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"> </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"> </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="-"/> 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 </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"> </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"> </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"> </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"> </td><td class="mdescRight">Empty constructor. <a href="#af16635194b2dd485f35a6f2c35240cf2">More...</a><br /></td></tr> <tr class="separator:af16635194b2dd485f35a6f2c35240cf2"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8b5f0102a268c1d7e74bdb03fdfbf59d"><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Constructor, just setting the length field in this base class. <a href="#a8b5f0102a268c1d7e74bdb03fdfbf59d">More...</a><br /></td></tr> <tr class="separator:a8b5f0102a268c1d7e74bdb03fdfbf59d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a20e82be8c18df7bc236e3f66d3c5ce68"><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Constructor, just setting the length and position fields in this base class. <a href="#a20e82be8c18df7bc236e3f66d3c5ce68">More...</a><br /></td></tr> <tr class="separator:a20e82be8c18df7bc236e3f66d3c5ce68"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ae6aef71dcd8da9e3643f36563c1bf2e8"><td class="memItemLeft" align="right" valign="top"> </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"> </td><td class="mdescRight">Constructor, just setting the length, start, end, and position fields in this base class. <a href="#ae6aef71dcd8da9e3643f36563c1bf2e8">More...</a><br /></td></tr> <tr class="separator:ae6aef71dcd8da9e3643f36563c1bf2e8"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab768bb7859a8801c0d895dcb032a195d"><td class="memItemLeft" align="right" valign="top"> </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> &that)</td></tr> <tr class="memdesc:ab768bb7859a8801c0d895dcb032a195d"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#ab768bb7859a8801c0d895dcb032a195d">More...</a><br /></td></tr> <tr class="separator:ab768bb7859a8801c0d895dcb032a195d"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:af3fd5df0081fd8fccffdd4f1bd8a8811"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> & </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> &that)</td></tr> <tr class="memdesc:af3fd5df0081fd8fccffdd4f1bd8a8811"><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <a href="#af3fd5df0081fd8fccffdd4f1bd8a8811">More...</a><br /></td></tr> <tr class="separator:af3fd5df0081fd8fccffdd4f1bd8a8811"><td class="memSeparator" colspan="2"> </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="-"/> 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"> </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"> </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"> </td></tr> <tr class="memitem:a644d4dc45a418f556f69cff56b31871f inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="memItemLeft" align="right" valign="top"> </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> &other)</td></tr> <tr class="memdesc:a644d4dc45a418f556f69cff56b31871f inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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"> </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> & </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> &)</td></tr> <tr class="memdesc:a5b49dbc6510238684b687efb338e77e2 inherit pro_methods_classicu_1_1ForwardCharacterIterator"><td class="mdescLeft"> </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"> </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 </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"> </td><td class="mdescRight">Base class text length field. <a href="#a089ec2c9e1cbe7b6b170723c38fd2e55">More...</a><br /></td></tr> <tr class="separator:a089ec2c9e1cbe7b6b170723c38fd2e55"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a974c6d9bbf0ae1a74688ffdbfc08ad17"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </td><td class="mdescRight">Base class field for the current position. <a href="#a974c6d9bbf0ae1a74688ffdbfc08ad17">More...</a><br /></td></tr> <tr class="separator:a974c6d9bbf0ae1a74688ffdbfc08ad17"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a8a08a04f80fc138a3dee27915412bdec"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </td><td class="mdescRight">Base class field for the start of the iteration range. <a href="#a8a08a04f80fc138a3dee27915412bdec">More...</a><br /></td></tr> <tr class="separator:a8a08a04f80fc138a3dee27915412bdec"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aa3722479f3191d6bcad48a24bd6c8f3e"><td class="memItemLeft" align="right" valign="top">int32_t </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"> </td><td class="mdescRight">Base class field for the end of the iteration range. <a href="#aa3722479f3191d6bcad48a24bd6c8f3e">More...</a><br /></td></tr> <tr class="separator:aa3722479f3191d6bcad48a24bd6c8f3e"><td class="memSeparator" colspan="2"> </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> &it) {</div><div class="line"> <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c;</div><div class="line"> <span class="keywordflow">for</span>(it.setToStart(); it.hasNext();) {</div><div class="line"> c=it.next32PostInc();</div><div class="line"> <span class="comment">// use c</span></div><div class="line"> }</div><div class="line"> }</div></div><!-- fragment --><p> Forward iteration more similar to loops with the old forward iteration, showing a way to convert simple for() loops: </p><div class="fragment"><div class="line"><span class="keywordtype">void</span> forward2(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a> &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> &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> &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> &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><!-- 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 << <span class="stringliteral">" "</span> << 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>& iter)</div><div class="line">{</div><div class="line"> <span class="keywordflow">for</span>(char16_t c = iter.first(); c != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE; c = iter.next()) {</div><div class="line"> processChar(c);</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --> </pre><p> Traverse the text backwards, from end to start </p><pre> <div class="fragment"><div class="line"><span class="keywordtype">void</span> traverseBackward(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>& iter)</div><div class="line">{</div><div class="line"> <span class="keywordflow">for</span>(char16_t c = iter.last(); c != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE; c = iter.previous()) {</div><div class="line"> processChar(c);</div><div class="line"> }</div><div class="line">}</div></div><!-- fragment --> </pre><p> Traverse both forward and backward from a given position in the text. Calls to notBoundary() in this example represents some additional stopping criteria. </p><pre> <div class="fragment"><div class="line"><span class="keywordtype">void</span> traverseOut(<a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>& 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 != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE && (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 != <a class="code" href="classicu_1_1CharacterIterator.html#af16635194b2dd485f35a6f2c35240cf2">CharacterIterator</a>.DONE && (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 << <span class="stringliteral">"start: "</span> << start << <span class="stringliteral">" end: "</span> << <a class="code" href="classicu_1_1CharacterIterator.html#aa3722479f3191d6bcad48a24bd6c8f3e">end</a> << endl;</div><div class="line"> <span class="keywordflow">for</span> (c = iter.setIndex(start); iter.getIndex() < <a class="code" href="classicu_1_1CharacterIterator.html#aa3722479f3191d6bcad48a24bd6c8f3e">end</a>; c = iter.next() ) {</div><div class="line"> processChar(c);</div><div class="line"> }</div><div class="line"> }</div></div><!-- fragment --> </pre><p> Creating a <a class="el" href="classicu_1_1StringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...">StringCharacterIterator</a> and calling the test functions </p><pre> <div class="fragment"><div class="line"><span class="keywordtype">void</span> CharacterIterator_Example( <span class="keywordtype">void</span> )</div><div class="line"> {</div><div class="line"> cout << endl << <span class="stringliteral">"===== CharacterIterator_Example: ====="</span> << endl;</div><div class="line"> UnicodeString text(<span class="stringliteral">"Ein kleiner Satz."</span>);</div><div class="line"> StringCharacterIterator iterator(text);</div><div class="line"> cout << <span class="stringliteral">"----- traverseForward: -----------"</span> << endl;</div><div class="line"> traverseForward( iterator );</div><div class="line"> cout << endl << endl << <span class="stringliteral">"----- traverseBackward: ----------"</span> << endl;</div><div class="line"> traverseBackward( iterator );</div><div class="line"> cout << endl << endl << <span class="stringliteral">"----- traverseOut: ---------------"</span> << endl;</div><div class="line"> traverseOut( iterator, 7 );</div><div class="line"> cout << endl << endl << <span class="stringliteral">"-----"</span> << endl;</div><div class="line"> }</div></div><!-- fragment --> </pre><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000145">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00358">358</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">◆ </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#_stable000158">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00364">364</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <h2 class="groupheader">Constructor & Destructor Documentation</h2> <a id="a6f02b160cc84f55de41adc72cbb9b9ed"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6f02b160cc84f55de41adc72cbb9b9ed">◆ </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#_stable000159">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">◆ </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#_stable000185">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">◆ </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 </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#_stable000186">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">◆ </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 </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>position</em> </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#_stable000187">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">◆ </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 </td> <td class="paramname"><em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>textBegin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>textEnd</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t </td> <td class="paramname"><em>position</em> </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#_stable000188">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">◆ </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> & </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#_stable000189">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <h2 class="groupheader">Member Function Documentation</h2> <a id="a8b3d69e0cbc3a22f7fc87f78b78c7ca2"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8b3d69e0cbc3a22f7fc87f78b78c7ca2">◆ </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="paramtype">void </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#_stable000160">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a6e123dbbbf29de69701ff1eff4fe6aed">icu::UCharCharacterIterator</a>, and <a class="el" href="classicu_1_1StringCharacterIterator.html#ab863f7e796066f6e69b30e05de1b60e4">icu::StringCharacterIterator</a>.</p> </div> </div> <a id="a43a3dc93fd75548bb24507ebcf9b7d12"></a> <h2 class="memtitle"><span class="permalink"><a href="#a43a3dc93fd75548bb24507ebcf9b7d12">◆ </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="paramtype">void </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#_stable000171">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a323c5133333f449e3dc1b1e4629070f5">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a946220338dce1cb3151ef3dbd6a7c943"></a> <h2 class="memtitle"><span class="permalink"><a href="#a946220338dce1cb3151ef3dbd6a7c943">◆ </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="paramtype">void </td> <td class="paramname"></td><td>)</td> <td> const</td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Returns the code point the iterator currently refers to. </p> <dl class="section return"><dt>Returns</dt><dd>the current code point. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000172">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#af76a8cbe898ef33a60b92e241131fcc2">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a771b2ba4dcfea5b8d97040a4c6868826"></a> <h2 class="memtitle"><span class="permalink"><a href="#a771b2ba4dcfea5b8d97040a4c6868826">◆ </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="paramtype">void </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#aee514541776ea1aa345dbc57d672ca4b" title="Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...">last()</a>. </p> <dl class="section return"><dt>Returns</dt><dd>the numeric index in the underlying text-storage object of the position immediately BEYOND the character returned by <a class="el" href="classicu_1_1CharacterIterator.html#aee514541776ea1aa345dbc57d672ca4b" 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#_stable000179">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00713">713</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <a id="a239bb6a42f08760fa50ffa4aa9022adc"></a> <h2 class="memtitle"><span class="permalink"><a href="#a239bb6a42f08760fa50ffa4aa9022adc">◆ </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="paramtype">void </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#a880ae519d23192c93934c7da1cb4252a" 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#_stable000161">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a3e7f13721caa83671bd51e5f6655c6d0">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a89548cc913bf599865c9098638a9c2e7"></a> <h2 class="memtitle"><span class="permalink"><a href="#a89548cc913bf599865c9098638a9c2e7">◆ </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="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#a6e9a84b89a0d3fe7aae189f744576b00" title="Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...">next32()</a>. </p> <p>Note that an iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>, beginning with, e.g., <a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa" title="Sets the iterator to refer to the first code unit or code point in its iteration range. ">setToStart()</a> or <a class="el" href="classicu_1_1CharacterIterator.html#a6f68230f51dc9d02647dfa6a9f2e79ce" 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#_stable000163">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a8e303d836c4f59637830ccebd029993d">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a10b0383da1187bb22b46412ca46da1f4"></a> <h2 class="memtitle"><span class="permalink"><a href="#a10b0383da1187bb22b46412ca46da1f4">◆ </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="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point. </p> <p>This is an alternative to <a class="el" href="classicu_1_1CharacterIterator.html#ac6e8c16981c7481256c50ab7145185aa" title="Sets the iterator to refer to the first code unit or code point in its iteration range. ">setToStart()</a> for forward iteration with <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the first code point in its iteration range. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000164">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Reimplemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a0f75eda04e5e587230bf3d15ce654286">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a6f68230f51dc9d02647dfa6a9f2e79ce"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6f68230f51dc9d02647dfa6a9f2e79ce">◆ </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="paramtype">void </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#ac0adb7d361dcf2f03a2234773401b570" 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#_stable000162">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Reimplemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a3c904a05f6a9db8fcde7e05ab6e868c3">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a6d1674edfb18fe904a8fe189e0dd5dc1"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6d1674edfb18fe904a8fe189e0dd5dc1">◆ </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="paramtype">void </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#a43a3dc93fd75548bb24507ebcf9b7d12" title="Returns the code unit the iterator currently refers to. ">current()</a>). </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#_stable000180">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00718">718</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">◆ </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="paramtype">void </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#_stable000181">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00723">723</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">◆ </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> & </td> <td class="paramname"><em>result</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Copies the text under iteration into the <a class="el" href="classicu_1_1UnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides similar function...">UnicodeString</a> referred to by "result". </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">result</td><td>Receives a copy of the text under iteration. <br /> </td></tr> </table> </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>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a4bf66cb3192643dd39ce6d5057d78b4f">icu::UCharCharacterIterator</a>, and <a class="el" href="classicu_1_1StringCharacterIterator.html#a11b0f7c1792b63ae246ebf0d3f1141ad">icu::StringCharacterIterator</a>.</p> </div> </div> <a id="ac83ac180f319b25a9e6ab1a80d66d928"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac83ac180f319b25a9e6ab1a80d66d928">◆ </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#a8738a4c0854a6c29dfb6de9313f78107" title="Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...">previous()</a> or <a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb" title="Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...">previous32()</a> in backward iteration. </p><dl class="section return"><dt>Returns</dt><dd>FALSE if there are no more code units or code points before the current position in the iteration range, return TRUE otherwise. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000177">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#ab5e39592d6b9ed49b304b1a489c535fa">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="aee514541776ea1aa345dbc57d672ca4b"></a> <h2 class="memtitle"><span class="permalink"><a href="#aee514541776ea1aa345dbc57d672ca4b">◆ </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="paramtype">void </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#a8738a4c0854a6c29dfb6de9313f78107" 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#_stable000166">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#ac15980c7733ccc762b0cee882fc947ed">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a86fc3990c224e4df431e6b93bb757298"></a> <h2 class="memtitle"><span class="permalink"><a href="#a86fc3990c224e4df431e6b93bb757298">◆ </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="paramtype">void </td> <td class="paramname"></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets the iterator to refer to the last code point in its iteration range, and returns that code unit. </p> <p>This can be used to begin an iteration with <a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb" title="Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...">previous32()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the last code point. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000167">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a9eed4489840c5815e641555466df1582">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a37e9b91a0bd0e9dde2761b603560da9d"></a> <h2 class="memtitle"><span class="permalink"><a href="#a37e9b91a0bd0e9dde2761b603560da9d">◆ </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 </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> </td> <td class="paramname"><em>origin</em> </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#_stable000182">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a57fd4f8d6886b8b28f4c5975879d0be0">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="aac9a417f50cd4d741da7fac3429dad0d"></a> <h2 class="memtitle"><span class="permalink"><a href="#aac9a417f50cd4d741da7fac3429dad0d">◆ </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 </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> </td> <td class="paramname"><em>origin</em> </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#_stable000183">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#aa22dffcd3e10f438a50a47bd433ffe00">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a880ae519d23192c93934c7da1cb4252a"></a> <h2 class="memtitle"><span class="permalink"><a href="#a880ae519d23192c93934c7da1cb4252a">◆ </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="paramtype">void </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#a771b2ba4dcfea5b8d97040a4c6868826" 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#_stable000173">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a627a018b713947d66420f071a2987155">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a6e9a84b89a0d3fe7aae189f744576b00"></a> <h2 class="memtitle"><span class="permalink"><a href="#a6e9a84b89a0d3fe7aae189f744576b00">◆ </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="paramtype">void </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#a771b2ba4dcfea5b8d97040a4c6868826" title="Returns the numeric index in the underlying text-storage object of the position immediately BEYOND th...">endIndex()</a>), and returns that code point. </p> <p>If there are no more code points to return, returns DONE. Note that iteration with "pre-increment" semantics is less efficient than iteration with "post-increment" semantics that is provided by <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the next code point. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000174">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a6913c3566f70f450b36b72799e778662">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="af3fd5df0081fd8fccffdd4f1bd8a8811"></a> <h2 class="memtitle"><span class="permalink"><a href="#af3fd5df0081fd8fccffdd4f1bd8a8811">◆ </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>& icu::CharacterIterator::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> & </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#_stable000190">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div> <a id="a8738a4c0854a6c29dfb6de9313f78107"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8738a4c0854a6c29dfb6de9313f78107">◆ </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="paramtype">void </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#a09aaebb295bef0d854e68bd648853eb0" 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#_stable000175">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a526c217806a5623362413aa79c4751f3">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="aa4e10820fbdb4dda83464e4bb629cbdb"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa4e10820fbdb4dda83464e4bb629cbdb">◆ </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="paramtype">void </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#a09aaebb295bef0d854e68bd648853eb0" 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#_stable000176">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a527f59faf49c9f200b550d7b859b016f">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="ade1384a90f7290121ac40f851aac4f82"></a> <h2 class="memtitle"><span class="permalink"><a href="#ade1384a90f7290121ac40f851aac4f82">◆ </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 </td> <td class="paramname"><em>position</em></td><td>)</td> <td></td> </tr> </table> </td> <td class="mlabels-right"> <span class="mlabels"><span class="mlabel">pure virtual</span></span> </td> </tr> </table> </div><div class="memdoc"> <p>Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator refers to, and returns that code unit. </p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">position</td><td>the "position"-th code unit in the text-storage object </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>the "position"-th code unit. </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000169">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#a346570a5d4a61de3e52aa0739d728181">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="a8519987104888e1af043b146971b6793"></a> <h2 class="memtitle"><span class="permalink"><a href="#a8519987104888e1af043b146971b6793">◆ </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 </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#_stable000170">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p>Implemented in <a class="el" href="classicu_1_1UCharCharacterIterator.html#aa3c0cc4203e98bbf27e0958f7823d588">icu::UCharCharacterIterator</a>.</p> </div> </div> <a id="ac5cff21d4826f4f655303de8fecb5ce5"></a> <h2 class="memtitle"><span class="permalink"><a href="#ac5cff21d4826f4f655303de8fecb5ce5">◆ </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#a8738a4c0854a6c29dfb6de9313f78107" title="Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...">previous()</a> or <a class="el" href="classicu_1_1CharacterIterator.html#aa4e10820fbdb4dda83464e4bb629cbdb" title="Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...">previous32()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the end position of the iteration range </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000168">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00703">703</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">◆ </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#ac0adb7d361dcf2f03a2234773401b570" title="Gets the current code unit for returning and advances to the next code unit in the iteration range (t...">nextPostInc()</a> or <a class="el" href="classicu_1_1ForwardCharacterIterator.html#acccb6c5e433ff1cbaa5830130b569e97" title="Gets the current code point for returning and advances to the next code point in the iteration range ...">next32PostInc()</a>. </p><dl class="section return"><dt>Returns</dt><dd>the start position of the iteration range </dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable000165">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00698">698</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <a id="a09aaebb295bef0d854e68bd648853eb0"></a> <h2 class="memtitle"><span class="permalink"><a href="#a09aaebb295bef0d854e68bd648853eb0">◆ </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="paramtype">void </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#a239bb6a42f08760fa50ffa4aa9022adc" 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#a239bb6a42f08760fa50ffa4aa9022adc" 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#_stable000178">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00708">708</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">◆ </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#_stable000193">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00683">683</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <a id="aa3722479f3191d6bcad48a24bd6c8f3e"></a> <h2 class="memtitle"><span class="permalink"><a href="#aa3722479f3191d6bcad48a24bd6c8f3e">◆ </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#_stable000194">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00689">689</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <a id="a974c6d9bbf0ae1a74688ffdbfc08ad17"></a> <h2 class="memtitle"><span class="permalink"><a href="#a974c6d9bbf0ae1a74688ffdbfc08ad17">◆ </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#_stable000192">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00677">677</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <a id="a089ec2c9e1cbe7b6b170723c38fd2e55"></a> <h2 class="memtitle"><span class="permalink"><a href="#a089ec2c9e1cbe7b6b170723c38fd2e55">◆ </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 "result". ">getText()</a> and <a class="el" href="classicu_1_1ForwardCharacterIterator.html#ab5ca36cca044f5ea8a033c7a359d83a2" title="Generates a hash code for this iterator. ">hashCode()</a>. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable000191">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p class="definition">Definition at line <a class="el" href="chariter_8h_source.html#l00671">671</a> of file <a class="el" href="chariter_8h_source.html">chariter.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="chariter_8h_source.html">chariter.h</a></li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.14 </small></address> </body> </html>
💾 Save Changes
❌ Cancel