Sophie

Sophie

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

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

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

<p><code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a></code> is an abstract base class that provides methods to search for a pattern within a text string.  
 <a href="classicu_1_1SearchIterator.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="search_8h_source.html">search.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for icu::SearchIterator:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classicu_1_1SearchIterator.png" usemap="#icu::SearchIterator_map" alt=""/>
  <map id="icu::SearchIterator_map" name="icu::SearchIterator_map">
<area href="classicu_1_1UObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class. " alt="icu::UObject" shape="rect" coords="0,56,116,80"/>
<area href="classicu_1_1UMemory.html" title="UMemory is the common ICU base class. " alt="icu::UMemory" shape="rect" coords="0,0,116,24"/>
<area href="classicu_1_1StringSearch.html" title="StringSearch is a SearchIterator that provides language-sensitive text searching based on the compari..." alt="icu::StringSearch" shape="rect" coords="0,168,116,192"/>
</map>
 </div></div>
<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:a246a13bf836186398c91240ea346d503"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a246a13bf836186398c91240ea346d503">SearchIterator</a> (const <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> &amp;other)</td></tr>
<tr class="memdesc:a246a13bf836186398c91240ea346d503"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor that creates a <a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> instance with the same behavior, and iterating over the same text.  <a href="#a246a13bf836186398c91240ea346d503">More...</a><br /></td></tr>
<tr class="separator:a246a13bf836186398c91240ea346d503"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb9776a1ae4060a1c8e4577407cdf75d"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#afb9776a1ae4060a1c8e4577407cdf75d">~SearchIterator</a> ()</td></tr>
<tr class="memdesc:afb9776a1ae4060a1c8e4577407cdf75d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#afb9776a1ae4060a1c8e4577407cdf75d">More...</a><br /></td></tr>
<tr class="separator:afb9776a1ae4060a1c8e4577407cdf75d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad873328495584be985a857e811a35b75"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ad873328495584be985a857e811a35b75">setOffset</a> (int32_t position, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)=0</td></tr>
<tr class="memdesc:ad873328495584be985a857e811a35b75"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the index to point to the given position, and clears any state that's affected.  <a href="#ad873328495584be985a857e811a35b75">More...</a><br /></td></tr>
<tr class="separator:ad873328495584be985a857e811a35b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a68dc87e96c2eeb4d0dd8281e1e028cdb"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb">getOffset</a> (void) const =0</td></tr>
<tr class="memdesc:a68dc87e96c2eeb4d0dd8281e1e028cdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the current index in the text being searched.  <a href="#a68dc87e96c2eeb4d0dd8281e1e028cdb">More...</a><br /></td></tr>
<tr class="separator:a68dc87e96c2eeb4d0dd8281e1e028cdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43e05ea9390f56afdead82e592b7e7dc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a43e05ea9390f56afdead82e592b7e7dc">setAttribute</a> (<a class="el" href="usearch_8h.html#aa382f146f1968a9d1dc182100b23ac03">USearchAttribute</a> attribute, <a class="el" href="usearch_8h.html#afbe777746540a229c0a2ff3323e292d1">USearchAttributeValue</a> value, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a43e05ea9390f56afdead82e592b7e7dc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the text searching attributes located in the enum USearchAttribute with values from the enum USearchAttributeValue.  <a href="#a43e05ea9390f56afdead82e592b7e7dc">More...</a><br /></td></tr>
<tr class="separator:a43e05ea9390f56afdead82e592b7e7dc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2968d48fab658ab24c0dd02d2048f076"><td class="memItemLeft" align="right" valign="top"><a class="el" href="usearch_8h.html#afbe777746540a229c0a2ff3323e292d1">USearchAttributeValue</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a2968d48fab658ab24c0dd02d2048f076">getAttribute</a> (<a class="el" href="usearch_8h.html#aa382f146f1968a9d1dc182100b23ac03">USearchAttribute</a> attribute) const </td></tr>
<tr class="memdesc:a2968d48fab658ab24c0dd02d2048f076"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the text searching attributes.  <a href="#a2968d48fab658ab24c0dd02d2048f076">More...</a><br /></td></tr>
<tr class="separator:a2968d48fab658ab24c0dd02d2048f076"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b4a0e5ca6378dad009e1aeecb29f5d6"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a0b4a0e5ca6378dad009e1aeecb29f5d6">getMatchedStart</a> (void) const </td></tr>
<tr class="memdesc:a0b4a0e5ca6378dad009e1aeecb29f5d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index to the match in the text string that was searched.  <a href="#a0b4a0e5ca6378dad009e1aeecb29f5d6">More...</a><br /></td></tr>
<tr class="separator:a0b4a0e5ca6378dad009e1aeecb29f5d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61e97a04115bc479c61cea1120c359e1"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a61e97a04115bc479c61cea1120c359e1">getMatchedLength</a> (void) const </td></tr>
<tr class="memdesc:a61e97a04115bc479c61cea1120c359e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the length of text in the string which matches the search pattern.  <a href="#a61e97a04115bc479c61cea1120c359e1">More...</a><br /></td></tr>
<tr class="separator:a61e97a04115bc479c61cea1120c359e1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86cb4e5d12a8d2d9c3f8a0651b769084"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a86cb4e5d12a8d2d9c3f8a0651b769084">getMatchedText</a> (<a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;result) const </td></tr>
<tr class="memdesc:a86cb4e5d12a8d2d9c3f8a0651b769084"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the text that was matched by the most recent call to <code>first</code>, <code>next</code>, <code>previous</code>, or <code>last</code>.  <a href="#a86cb4e5d12a8d2d9c3f8a0651b769084">More...</a><br /></td></tr>
<tr class="separator:a86cb4e5d12a8d2d9c3f8a0651b769084"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7a52648e8dfb9432969a7a8607902a6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ab7a52648e8dfb9432969a7a8607902a6">setBreakIterator</a> (<a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *breakiter, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:ab7a52648e8dfb9432969a7a8607902a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the <a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> that will be used to restrict the points at which matches are detected.  <a href="#ab7a52648e8dfb9432969a7a8607902a6">More...</a><br /></td></tr>
<tr class="separator:ab7a52648e8dfb9432969a7a8607902a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdbc6f2a39fe35c7901e5662a068b4d7"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#acdbc6f2a39fe35c7901e5662a068b4d7">getBreakIterator</a> (void) const </td></tr>
<tr class="memdesc:acdbc6f2a39fe35c7901e5662a068b4d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the <a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> that is used to restrict the points at which matches are detected.  <a href="#acdbc6f2a39fe35c7901e5662a068b4d7">More...</a><br /></td></tr>
<tr class="separator:acdbc6f2a39fe35c7901e5662a068b4d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76447120d17fd963a4b9caf73758ab05"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a76447120d17fd963a4b9caf73758ab05">setText</a> (const <a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;text, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a76447120d17fd963a4b9caf73758ab05"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the string text to be searched.  <a href="#a76447120d17fd963a4b9caf73758ab05">More...</a><br /></td></tr>
<tr class="separator:a76447120d17fd963a4b9caf73758ab05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad99a866c36177799e3648aab1a499597"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ad99a866c36177799e3648aab1a499597">setText</a> (<a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;text, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:ad99a866c36177799e3648aab1a499597"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the string text to be searched.  <a href="#ad99a866c36177799e3648aab1a499597">More...</a><br /></td></tr>
<tr class="separator:ad99a866c36177799e3648aab1a499597"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae57f291dfbd85c58a739512daddb98bf"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ae57f291dfbd85c58a739512daddb98bf">getText</a> (void) const </td></tr>
<tr class="memdesc:ae57f291dfbd85c58a739512daddb98bf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the string text to be searched.  <a href="#ae57f291dfbd85c58a739512daddb98bf">More...</a><br /></td></tr>
<tr class="separator:ae57f291dfbd85c58a739512daddb98bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6f0f709411aec1c2a3cf5cc74abe5d37"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a6f0f709411aec1c2a3cf5cc74abe5d37">operator==</a> (const <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> &amp;that) const </td></tr>
<tr class="memdesc:a6f0f709411aec1c2a3cf5cc74abe5d37"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equality operator.  <a href="#a6f0f709411aec1c2a3cf5cc74abe5d37">More...</a><br /></td></tr>
<tr class="separator:a6f0f709411aec1c2a3cf5cc74abe5d37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab527bf595da6ed9024e6ea5d0e5f8ca3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ab527bf595da6ed9024e6ea5d0e5f8ca3">operator!=</a> (const <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> &amp;that) const </td></tr>
<tr class="memdesc:ab527bf595da6ed9024e6ea5d0e5f8ca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not-equal operator.  <a href="#ab527bf595da6ed9024e6ea5d0e5f8ca3">More...</a><br /></td></tr>
<tr class="separator:ab527bf595da6ed9024e6ea5d0e5f8ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a690526d7768ccee24d326ef2f454dec4"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a690526d7768ccee24d326ef2f454dec4">safeClone</a> (void) const =0</td></tr>
<tr class="memdesc:a690526d7768ccee24d326ef2f454dec4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a copy of <a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> with the same behavior, and iterating over the same text, as this one.  <a href="#a690526d7768ccee24d326ef2f454dec4">More...</a><br /></td></tr>
<tr class="separator:a690526d7768ccee24d326ef2f454dec4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3adc58b5531eb0007a5c439fdcba2b5c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a3adc58b5531eb0007a5c439fdcba2b5c">first</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a3adc58b5531eb0007a5c439fdcba2b5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the first index at which the string text matches the search pattern.  <a href="#a3adc58b5531eb0007a5c439fdcba2b5c">More...</a><br /></td></tr>
<tr class="separator:a3adc58b5531eb0007a5c439fdcba2b5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa773b3c2b2884c84bb6e3e980f3e327a"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#aa773b3c2b2884c84bb6e3e980f3e327a">following</a> (int32_t position, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:aa773b3c2b2884c84bb6e3e980f3e327a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the first index equal or greater than <code>position</code> at which the string text matches the search pattern.  <a href="#aa773b3c2b2884c84bb6e3e980f3e327a">More...</a><br /></td></tr>
<tr class="separator:aa773b3c2b2884c84bb6e3e980f3e327a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66e0ec8ba1f20653b2f6d11d116da232"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a66e0ec8ba1f20653b2f6d11d116da232">last</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a66e0ec8ba1f20653b2f6d11d116da232"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the last index in the target text at which it matches the search pattern.  <a href="#a66e0ec8ba1f20653b2f6d11d116da232">More...</a><br /></td></tr>
<tr class="separator:a66e0ec8ba1f20653b2f6d11d116da232"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b381e8fffd24233b74bd234d068ce41"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a5b381e8fffd24233b74bd234d068ce41">preceding</a> (int32_t position, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a5b381e8fffd24233b74bd234d068ce41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the first index less than <code>position</code> at which the string text matches the search pattern.  <a href="#a5b381e8fffd24233b74bd234d068ce41">More...</a><br /></td></tr>
<tr class="separator:a5b381e8fffd24233b74bd234d068ce41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aa0e7427fc4ff817d99d5e1d6f1fbd9"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a2aa0e7427fc4ff817d99d5e1d6f1fbd9">next</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a2aa0e7427fc4ff817d99d5e1d6f1fbd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the next point at which the text matches the search pattern, starting from the current position The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found.  <a href="#a2aa0e7427fc4ff817d99d5e1d6f1fbd9">More...</a><br /></td></tr>
<tr class="separator:a2aa0e7427fc4ff817d99d5e1d6f1fbd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a95215dfaa7228f5c364a3f5ffe25fc"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a5a95215dfaa7228f5c364a3f5ffe25fc">previous</a> (<a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a5a95215dfaa7228f5c364a3f5ffe25fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the index of the previous point at which the string text matches the search pattern, starting at the current position.  <a href="#a5a95215dfaa7228f5c364a3f5ffe25fc">More...</a><br /></td></tr>
<tr class="separator:a5a95215dfaa7228f5c364a3f5ffe25fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aab97e2fff5f5bb3dc01d34801d613d29"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#aab97e2fff5f5bb3dc01d34801d613d29">reset</a> ()</td></tr>
<tr class="memdesc:aab97e2fff5f5bb3dc01d34801d613d29"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the iteration.  <a href="#aab97e2fff5f5bb3dc01d34801d613d29">More...</a><br /></td></tr>
<tr class="separator:aab97e2fff5f5bb3dc01d34801d613d29"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classicu_1_1UObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classicu_1_1UObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classicu_1_1UObject.html">icu::UObject</a></td></tr>
<tr class="memitem:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1UObject.html#af10026497704f510d3d1f2eff50acb18">~UObject</a> ()</td></tr>
<tr class="memdesc:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#af10026497704f510d3d1f2eff50acb18">More...</a><br /></td></tr>
<tr class="separator:af10026497704f510d3d1f2eff50acb18 inherit pub_methods_classicu_1_1UObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1aa93096e880907080b503ff1fb0f8bc inherit pub_methods_classicu_1_1UObject"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1UObject.html#a1aa93096e880907080b503ff1fb0f8bc">getDynamicClassID</a> () const </td></tr>
<tr class="memdesc:a1aa93096e880907080b503ff1fb0f8bc inherit pub_methods_classicu_1_1UObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.  <a href="#a1aa93096e880907080b503ff1fb0f8bc">More...</a><br /></td></tr>
<tr class="separator:a1aa93096e880907080b503ff1fb0f8bc inherit pub_methods_classicu_1_1UObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7aca0957f8a46109c338b85920f326fc"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a7aca0957f8a46109c338b85920f326fc">SearchIterator</a> ()</td></tr>
<tr class="memdesc:a7aca0957f8a46109c338b85920f326fc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a7aca0957f8a46109c338b85920f326fc">More...</a><br /></td></tr>
<tr class="separator:a7aca0957f8a46109c338b85920f326fc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed62db3324ec26b78e23b9ec086cad5a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#aed62db3324ec26b78e23b9ec086cad5a">SearchIterator</a> (const <a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;text, <a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *breakiter=<a class="el" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)</td></tr>
<tr class="memdesc:aed62db3324ec26b78e23b9ec086cad5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for use by subclasses.  <a href="#aed62db3324ec26b78e23b9ec086cad5a">More...</a><br /></td></tr>
<tr class="separator:aed62db3324ec26b78e23b9ec086cad5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56db0275b6c7b664be3f2afc07203fe1"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a56db0275b6c7b664be3f2afc07203fe1">SearchIterator</a> (<a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;text, <a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *breakiter=<a class="el" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>)</td></tr>
<tr class="memdesc:a56db0275b6c7b664be3f2afc07203fe1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for use by subclasses.  <a href="#a56db0275b6c7b664be3f2afc07203fe1">More...</a><br /></td></tr>
<tr class="separator:a56db0275b6c7b664be3f2afc07203fe1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a24be5ff0dd0c049e19cdb54694969318"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a24be5ff0dd0c049e19cdb54694969318">operator=</a> (const <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> &amp;that)</td></tr>
<tr class="memdesc:a24be5ff0dd0c049e19cdb54694969318"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#a24be5ff0dd0c049e19cdb54694969318">More...</a><br /></td></tr>
<tr class="separator:a24be5ff0dd0c049e19cdb54694969318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a523954788b75b23b416ec6cf98ca49bb"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a523954788b75b23b416ec6cf98ca49bb">handleNext</a> (int32_t position, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)=0</td></tr>
<tr class="memdesc:a523954788b75b23b416ec6cf98ca49bb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract method which subclasses override to provide the mechanism for finding the next match in the target text.  <a href="#a523954788b75b23b416ec6cf98ca49bb">More...</a><br /></td></tr>
<tr class="separator:a523954788b75b23b416ec6cf98ca49bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9faec791507e9797ebdbef1daad7488"><td class="memItemLeft" align="right" valign="top">virtual int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ac9faec791507e9797ebdbef1daad7488">handlePrev</a> (int32_t position, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)=0</td></tr>
<tr class="memdesc:ac9faec791507e9797ebdbef1daad7488"><td class="mdescLeft">&#160;</td><td class="mdescRight">Abstract method which subclasses override to provide the mechanism for finding the previous match in the target text.  <a href="#ac9faec791507e9797ebdbef1daad7488">More...</a><br /></td></tr>
<tr class="separator:ac9faec791507e9797ebdbef1daad7488"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e4b9a280c1a088a27a875d49436cc95"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a2e4b9a280c1a088a27a875d49436cc95">setMatchLength</a> (int32_t length)</td></tr>
<tr class="memdesc:a2e4b9a280c1a088a27a875d49436cc95"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the length of the currently matched string in the text string to be searched.  <a href="#a2e4b9a280c1a088a27a875d49436cc95">More...</a><br /></td></tr>
<tr class="separator:a2e4b9a280c1a088a27a875d49436cc95"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8de6d75d1ac07d3384dc5eaacd2ab6e7"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a8de6d75d1ac07d3384dc5eaacd2ab6e7">setMatchStart</a> (int32_t position)</td></tr>
<tr class="memdesc:a8de6d75d1ac07d3384dc5eaacd2ab6e7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the offset of the currently matched string in the text string to be searched.  <a href="#a8de6d75d1ac07d3384dc5eaacd2ab6e7">More...</a><br /></td></tr>
<tr class="separator:a8de6d75d1ac07d3384dc5eaacd2ab6e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99f080447a1e36d1826642e06fbb7671"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a99f080447a1e36d1826642e06fbb7671">setMatchNotFound</a> ()</td></tr>
<tr class="memdesc:a99f080447a1e36d1826642e06fbb7671"><td class="mdescLeft">&#160;</td><td class="mdescRight">sets match not found  <a href="#a99f080447a1e36d1826642e06fbb7671">More...</a><br /></td></tr>
<tr class="separator:a99f080447a1e36d1826642e06fbb7671"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a1179431a358c02cd9390d3ce65cb2567"><td class="memItemLeft" align="right" valign="top"><a class="el" href="search_8h.html#ab9a54441959795454ae0406609767131">USearch</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a1179431a358c02cd9390d3ce65cb2567">m_search_</a></td></tr>
<tr class="memdesc:a1179431a358c02cd9390d3ce65cb2567"><td class="mdescLeft">&#160;</td><td class="mdescRight">C search data struct.  <a href="#a1179431a358c02cd9390d3ce65cb2567">More...</a><br /></td></tr>
<tr class="separator:a1179431a358c02cd9390d3ce65cb2567"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac154bf58b425147ab7cdf70fe1da9837"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#ac154bf58b425147ab7cdf70fe1da9837">m_breakiterator_</a></td></tr>
<tr class="memdesc:ac154bf58b425147ab7cdf70fe1da9837"><td class="mdescLeft">&#160;</td><td class="mdescRight">Break iterator.  <a href="#ac154bf58b425147ab7cdf70fe1da9837">More...</a><br /></td></tr>
<tr class="separator:ac154bf58b425147ab7cdf70fe1da9837"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a7a38a62a4950b1b8648cd327c9bade"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classicu_1_1SearchIterator.html#a8a7a38a62a4950b1b8648cd327c9bade">m_text_</a></td></tr>
<tr class="memdesc:a8a7a38a62a4950b1b8648cd327c9bade"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unicode string version of the search text.  <a href="#a8a7a38a62a4950b1b8648cd327c9bade">More...</a><br /></td></tr>
<tr class="separator:a8a7a38a62a4950b1b8648cd327c9bade"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a></code> is an abstract base class that provides methods to search for a pattern within a text string. </p>
<p>Instances of <code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a></code> maintain a current position and scans over the target text, returning the indices the pattern is matched and the length of each match. </p>
<p><code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a></code> defines a protocol for text searching. Subclasses provide concrete implementations of various search algorithms. For example, <code><a class="el" href="classicu_1_1StringSearch.html" title="StringSearch is a SearchIterator that provides language-sensitive text searching based on the compari...">StringSearch</a></code> implements language-sensitive pattern matching based on the comparison rules defined in a <code><a class="el" href="classicu_1_1RuleBasedCollator.html" title="The RuleBasedCollator class provides the implementation of Collator, using data-driven tables...">RuleBasedCollator</a></code> object. </p>
<p>Other options for searching includes using a <a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> to restrict the points at which matches are detected. </p>
<p><code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a></code> provides an API that is similar to that of other text iteration classes such as <code><a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a></code>. Using this class, it is easy to scan through text looking for all occurances of a given pattern. The following example uses a <code><a class="el" href="classicu_1_1StringSearch.html" title="StringSearch is a SearchIterator that provides language-sensitive text searching based on the compari...">StringSearch</a></code> object to find all instances of "fox" in the target string. Any other subclass of <code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a></code> can be used in an identical manner. </p><pre><code>
<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> target("The quick brown fox jumped over the lazy fox");
<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> pattern("fox");</code></pre><pre><code><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> *iter  = new StringSearch(pattern, target);
UErrorCode      error = U_ZERO_ERROR;
for (int pos = iter-&gt;first(error); pos != USEARCH_DONE; 
                              pos = iter-&gt;next(error)) {
    printf("Found match at %d pos, length is %d\n", pos, 
                                            iter.getMatchLength());
}
</code></pre><dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1StringSearch.html" title="StringSearch is a SearchIterator that provides language-sensitive text searching based on the compari...">StringSearch</a> </dd>
<dd>
<a class="el" href="classicu_1_1RuleBasedCollator.html" title="The RuleBasedCollator class provides the implementation of Collator, using data-driven tables...">RuleBasedCollator</a> </dd></dl>

<p>Definition at line <a class="el" href="search_8h_source.html#l00081">81</a> of file <a class="el" href="search_8h_source.html">search.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a246a13bf836186398c91240ea346d503"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">icu::SearchIterator::SearchIterator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Copy constructor that creates a <a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> instance with the same behavior, and iterating over the same text. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">other</td><td>the <a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> instance to be copied. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004289">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="afb9776a1ae4060a1c8e4577407cdf75d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual icu::SearchIterator::~SearchIterator </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>
<p>Cleans up the search iterator data struct. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable004290">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Default constructor. </p>
<p>Initializes data to the default values. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable004316">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="aed62db3324ec26b78e23b9ec086cad5a"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::SearchIterator::SearchIterator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *&#160;</td>
          <td class="paramname"><em>breakiter</em> = <code><a class="el" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor for use by subclasses. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">text</td><td>The target text to be searched. </td></tr>
    <tr><td class="paramname">breakiter</td><td>A <a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> that is used to restrict the points at which matches are detected. If <code>handleNext</code> or <code>handlePrev</code> finds a match, but the match's start or end index is not a boundary as determined by the <code><a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a></code>, the match is rejected and <code>handleNext</code> or <code>handlePrev</code> is called again. If this parameter is <code>NULL</code>, no break detection is attempted. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a523954788b75b23b416ec6cf98ca49bb" title="Abstract method which subclasses override to provide the mechanism for finding the next match in the ...">handleNext</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#ac9faec791507e9797ebdbef1daad7488" title="Abstract method which subclasses override to provide the mechanism for finding the previous match in ...">handlePrev</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004317">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a56db0275b6c7b664be3f2afc07203fe1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">icu::SearchIterator::SearchIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *&#160;</td>
          <td class="paramname"><em>breakiter</em> = <code><a class="el" href="utypes_8h.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a></code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Constructor for use by subclasses. </p>
<p>Note: No parsing of the text within the <code><a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a></code> will be done during searching for this version. The block of text in <code><a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a></code> will be used as it is. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">text</td><td>The target text to be searched. </td></tr>
    <tr><td class="paramname">breakiter</td><td>A <a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> that is used to restrict the points at which matches are detected. If <code>handleNext</code> or <code>handlePrev</code> finds a match, but the match's start or end index is not a boundary as determined by the <code><a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a></code>, the match is rejected and <code>handleNext</code> or <code>handlePrev</code> is called again. If this parameter is <code>NULL</code>, no break detection is attempted. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a523954788b75b23b416ec6cf98ca49bb" title="Abstract method which subclasses override to provide the mechanism for finding the next match in the ...">handleNext</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#ac9faec791507e9797ebdbef1daad7488" title="Abstract method which subclasses override to provide the mechanism for finding the previous match in ...">handlePrev</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004318">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a3adc58b5531eb0007a5c439fdcba2b5c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::first </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the first index at which the string text matches the search pattern. </p>
<p>The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found. If a match is not found, <code>USEARCH_DONE</code> will be returned and the iterator will be adjusted to the index USEARCH_DONE </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The character index of the first match, or <code>USEARCH_DONE</code> if there are no matches. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb" title="Return the current index in the text being searched. ">getOffset</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004306">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="aa773b3c2b2884c84bb6e3e980f3e327a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::following </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the first index equal or greater than <code>position</code> at which the string text matches the search pattern. </p>
<p>The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found. If a match is not found, <code>USEARCH_DONE</code> will be returned and the iterator will be adjusted to the index <code>USEARCH_DONE</code>. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>where search if to start from. If position is less than or greater than the text range for searching, an U_INDEX_OUTOFBOUNDS_ERROR will be returned </td></tr>
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The character index of the first match following <code>position</code>, or <code>USEARCH_DONE</code> if there are no matches. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb" title="Return the current index in the text being searched. ">getOffset</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004307">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a2968d48fab658ab24c0dd02d2048f076"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="usearch_8h.html#afbe777746540a229c0a2ff3323e292d1">USearchAttributeValue</a> icu::SearchIterator::getAttribute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="usearch_8h.html#aa382f146f1968a9d1dc182100b23ac03">USearchAttribute</a>&#160;</td>
          <td class="paramname"><em>attribute</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the text searching attributes. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">attribute</td><td>text attribute (enum USearchAttribute) to be retrieve </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>text attribute value </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004294">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="acdbc6f2a39fe35c7901e5662a068b4d7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a>* icu::SearchIterator::getBreakIterator </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the <a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> that is used to restrict the points at which matches are detected. </p>
<p>This will be the same object that was passed to the constructor or to <code>setBreakIterator</code>. Note that <code>NULL</code> is a legal value; it means that break detection should not be attempted. </p><dl class="section return"><dt>Returns</dt><dd><a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> used to restrict matchings. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#ab7a52648e8dfb9432969a7a8607902a6" title="Set the BreakIterator that will be used to restrict the points at which matches are detected...">setBreakIterator</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004299">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a61e97a04115bc479c61cea1120c359e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::getMatchedLength </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the length of text in the string which matches the search pattern. </p>
<p>This call returns a valid result only after a successful call to <code>first</code>, <code>next</code>, <code>previous</code>, or <code>last</code>. Just after construction, or after a searching method returns <code>USEARCH_DONE</code>, this method will return 0. </p><dl class="section return"><dt>Returns</dt><dd>The length of the match in the target text, or 0 if there is no match currently. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a3adc58b5531eb0007a5c439fdcba2b5c" title="Returns the first index at which the string text matches the search pattern. ">first</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a2aa0e7427fc4ff817d99d5e1d6f1fbd9" title="Returns the index of the next point at which the text matches the search pattern, starting from the c...">next</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a5a95215dfaa7228f5c364a3f5ffe25fc" title="Returns the index of the previous point at which the string text matches the search pattern...">previous</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a66e0ec8ba1f20653b2f6d11d116da232" title="Returns the last index in the target text at which it matches the search pattern. ...">last</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004296">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a0b4a0e5ca6378dad009e1aeecb29f5d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::getMatchedStart </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the index to the match in the text string that was searched. </p>
<p>This call returns a valid result only after a successful call to <code>first</code>, <code>next</code>, <code>previous</code>, or <code>last</code>. Just after construction, or after a searching method returns <code>USEARCH_DONE</code>, this method will return <code>USEARCH_DONE</code>. </p>
<p>Use getMatchedLength to get the matched string length. </p><dl class="section return"><dt>Returns</dt><dd>index of a substring within the text string that is being searched. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a3adc58b5531eb0007a5c439fdcba2b5c" title="Returns the first index at which the string text matches the search pattern. ">first</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a2aa0e7427fc4ff817d99d5e1d6f1fbd9" title="Returns the index of the next point at which the text matches the search pattern, starting from the c...">next</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a5a95215dfaa7228f5c364a3f5ffe25fc" title="Returns the index of the previous point at which the string text matches the search pattern...">previous</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a66e0ec8ba1f20653b2f6d11d116da232" title="Returns the last index in the target text at which it matches the search pattern. ...">last</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004295">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a86cb4e5d12a8d2d9c3f8a0651b769084"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void icu::SearchIterator::getMatchedText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>result</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the text that was matched by the most recent call to <code>first</code>, <code>next</code>, <code>previous</code>, or <code>last</code>. </p>
<p>If the iterator is not pointing at a valid match (e.g. just after construction or after <code>USEARCH_DONE</code> has been returned, returns an empty string. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">result</td><td>stores the matched string or an empty string if a match is not found. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a3adc58b5531eb0007a5c439fdcba2b5c" title="Returns the first index at which the string text matches the search pattern. ">first</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a2aa0e7427fc4ff817d99d5e1d6f1fbd9" title="Returns the index of the next point at which the text matches the search pattern, starting from the c...">next</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a5a95215dfaa7228f5c364a3f5ffe25fc" title="Returns the index of the previous point at which the string text matches the search pattern...">previous</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#a66e0ec8ba1f20653b2f6d11d116da232" title="Returns the last index in the target text at which it matches the search pattern. ...">last</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004297">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Return the current index in the text being searched. </p>
<p>If the iteration has gone past the end of the text (or past the beginning for a backwards search), USEARCH_DONE is returned. </p><dl class="section return"><dt>Returns</dt><dd>current index in the text being searched. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004292">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1StringSearch.html#aa949bee2a36470aafaab45acbcfbd109">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="ae57f291dfbd85c58a739512daddb98bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a>&amp; icu::SearchIterator::getText </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the string text to be searched. </p>
<dl class="section return"><dt>Returns</dt><dd>text string to be searched. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004302">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a523954788b75b23b416ec6cf98ca49bb"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t icu::SearchIterator::handleNext </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Abstract method which subclasses override to provide the mechanism for finding the next match in the target text. </p>
<p>This allows different subclasses to provide different search algorithms. </p>
<p>If a match is found, the implementation should return the index at which the match starts and should call <code>setMatchLength</code> with the number of characters in the target text that make up the match. If no match is found, the method should return USEARCH_DONE. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>The index in the target text at which the search should start. </td></tr>
    <tr><td class="paramname">status</td><td>for error codes if it occurs. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index at which the match starts, else if match is not found USEARCH_DONE is returned </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a2e4b9a280c1a088a27a875d49436cc95" title="Sets the length of the currently matched string in the text string to be searched. ">setMatchLength</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004320">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1StringSearch.html#a8bfd6bf33a0f5c5006539a8633d573d9">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="ac9faec791507e9797ebdbef1daad7488"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual int32_t icu::SearchIterator::handlePrev </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Abstract method which subclasses override to provide the mechanism for finding the previous match in the target text. </p>
<p>This allows different subclasses to provide different search algorithms. </p>
<p>If a match is found, the implementation should return the index at which the match starts and should call <code>setMatchLength</code> with the number of characters in the target text that make up the match. If no match is found, the method should return USEARCH_DONE. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>The index in the target text at which the search should start. </td></tr>
    <tr><td class="paramname">status</td><td>for error codes if it occurs. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>index at which the match starts, else if match is not found USEARCH_DONE is returned </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a2e4b9a280c1a088a27a875d49436cc95" title="Sets the length of the currently matched string in the text string to be searched. ">setMatchLength</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004321">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1StringSearch.html#a8f74971bbf6699cdfdfce829b5b89c8a">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="a66e0ec8ba1f20653b2f6d11d116da232"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::last </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the last index in the target text at which it matches the search pattern. </p>
<p>The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found. If a match is not found, <code>USEARCH_DONE</code> will be returned and the iterator will be adjusted to the index USEARCH_DONE. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the first match, or <code>USEARCH_DONE</code> if there are no matches. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb" title="Return the current index in the text being searched. ">getOffset</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004308">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a2aa0e7427fc4ff817d99d5e1d6f1fbd9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::next </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the index of the next point at which the text matches the search pattern, starting from the current position The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found. </p>
<p>If a match is not found, <code>USEARCH_DONE</code> will be returned and the iterator will be adjusted to a position after the end of the text string. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the next match after the current position, or <code>USEARCH_DONE</code> if there are no more matches. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb" title="Return the current index in the text being searched. ">getOffset</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004310">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Not-equal operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> instance to be compared. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>FALSE if operator== returns TRUE, and vice versa. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004304">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="search_8h_source.html#l00568">568</a> of file <a class="el" href="search_8h_source.html">search.h</a>.</p>

<p>References <a class="el" href="namespaceicu.html#a1c2f6ca43e636f38d1a3291eb851e9f0">icu::operator==()</a>, and <a class="el" href="uversion_8h_source.html#l00132">U_NAMESPACE_END</a>.</p>

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

<p>Assignment operator. </p>
<p>Sets this iterator to have the same behavior, and iterate over the same text, as the one passed in. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td>instance to be copied. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004319">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Equality operator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">that</td><td><a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> instance to be compared. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>TRUE if both BreakIterators are of the same class, have the same behavior, terates over the same text and have the same attributes. FALSE otherwise. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004303">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1StringSearch.html#a6dc6e34165f34ce59ee08b7582e7b1b3">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="a5b381e8fffd24233b74bd234d068ce41"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::preceding </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the first index less than <code>position</code> at which the string text matches the search pattern. </p>
<p>The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found. If a match is not found, <code>USEARCH_DONE</code> will be returned and the iterator will be adjusted to the index USEARCH_DONE </p>
<p>When <code>USEARCH_OVERLAP</code> option is off, the last index of the result match is always less than <code>position</code>. When <code>USERARCH_OVERLAP</code> is on, the result match may span across <code>position</code>.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>where search is to start from. If position is less than or greater than the text range for searching, an U_INDEX_OUTOFBOUNDS_ERROR will be returned </td></tr>
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The character index of the first match preceding <code>position</code>, or <code>USEARCH_DONE</code> if there are no matches. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb" title="Return the current index in the text being searched. ">getOffset</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004309">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a5a95215dfaa7228f5c364a3f5ffe25fc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t icu::SearchIterator::previous </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Returns the index of the previous point at which the string text matches the search pattern, starting at the current position. </p>
<p>The iterator is adjusted so that its current index (as returned by <code>getOffset</code>) is the match position if one was found. If a match is not found, <code>USEARCH_DONE</code> will be returned and the iterator will be adjusted to the index USEARCH_DONE </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The index of the previous match before the current position, or <code>USEARCH_DONE</code> if there are no more matches. </dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a68dc87e96c2eeb4d0dd8281e1e028cdb" title="Return the current index in the text being searched. ">getOffset</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004311">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="aab97e2fff5f5bb3dc01d34801d613d29"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::SearchIterator::reset </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>Resets the iteration. </p>
<p>Search will begin at the start of the text string if a forward iteration is initiated before a backwards iteration. Otherwise if a backwards iteration is initiated before a forwards iteration, the search will begin at the end of the text string. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable004312">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1StringSearch.html#ae1e250e16e7fe837fd363b22c8dc51e1">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="a690526d7768ccee24d326ef2f454dec4"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classicu_1_1SearchIterator.html">SearchIterator</a>* icu::SearchIterator::safeClone </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns a copy of <a class="el" href="classicu_1_1SearchIterator.html" title="SearchIterator is an abstract base class that provides methods to search for a pattern within a text ...">SearchIterator</a> with the same behavior, and iterating over the same text, as this one. </p>
<p>Note that all data will be replicated, except for the text string to be searched. </p><dl class="section return"><dt>Returns</dt><dd>cloned object </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004305">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1StringSearch.html#a01f4fef2ae626a1cd79bd4a38772dea2">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="a43e05ea9390f56afdead82e592b7e7dc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void icu::SearchIterator::setAttribute </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="usearch_8h.html#aa382f146f1968a9d1dc182100b23ac03">USearchAttribute</a>&#160;</td>
          <td class="paramname"><em>attribute</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="usearch_8h.html#afbe777746540a229c0a2ff3323e292d1">USearchAttributeValue</a>&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sets the text searching attributes located in the enum USearchAttribute with values from the enum USearchAttributeValue. </p>
<p>USEARCH_DEFAULT can be used for all attributes for resetting. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">attribute</td><td>text attribute (enum USearchAttribute) to be set </td></tr>
    <tr><td class="paramname">value</td><td>text attribute value </td></tr>
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004293">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ab7a52648e8dfb9432969a7a8607902a6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void icu::SearchIterator::setBreakIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a> *&#160;</td>
          <td class="paramname"><em>breakiter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the <a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> that will be used to restrict the points at which matches are detected. </p>
<p>The user is responsible for deleting the breakiterator. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">breakiter</td><td>A <a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> that will be used to restrict the points at which matches are detected. If a match is found, but the match's start or end index is not a boundary as determined by the <code><a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a></code>, the match will be rejected and another will be searched for. If this parameter is <code>NULL</code>, no break detection is attempted. </td></tr>
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1BreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries in text...">BreakIterator</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004298">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Sets the length of the currently matched string in the text string to be searched. </p>
<p>Subclasses' <code>handleNext</code> and <code>handlePrev</code> methods should call this when they find a match in the target text. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">length</td><td>length of the matched text. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a523954788b75b23b416ec6cf98ca49bb" title="Abstract method which subclasses override to provide the mechanism for finding the next match in the ...">handleNext</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#ac9faec791507e9797ebdbef1daad7488" title="Abstract method which subclasses override to provide the mechanism for finding the previous match in ...">handlePrev</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004322">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="a99f080447a1e36d1826642e06fbb7671"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void icu::SearchIterator::setMatchNotFound </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>sets match not found </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004324">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

<p>Sets the offset of the currently matched string in the text string to be searched. </p>
<p>Subclasses' <code>handleNext</code> and <code>handlePrev</code> methods should call this when they find a match in the target text. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>start offset of the matched text. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classicu_1_1SearchIterator.html#a523954788b75b23b416ec6cf98ca49bb" title="Abstract method which subclasses override to provide the mechanism for finding the next match in the ...">handleNext</a> </dd>
<dd>
<a class="el" href="classicu_1_1SearchIterator.html#ac9faec791507e9797ebdbef1daad7488" title="Abstract method which subclasses override to provide the mechanism for finding the previous match in ...">handlePrev</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004323">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="ad873328495584be985a857e811a35b75"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::SearchIterator::setOffset </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>position</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the index to point to the given position, and clears any state that's affected. </p>
<p>This method takes the argument index and sets the position in the text string accordingly without checking if the index is pointing to a valid starting point to begin searching. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>within the text to be set. If position is less than or greater than the text range for searching, an U_INDEX_OUTOFBOUNDS_ERROR will be returned </td></tr>
    <tr><td class="paramname">status</td><td>for errors if it occurs </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004291">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Implemented in <a class="el" href="classicu_1_1StringSearch.html#a8f42063b84afbdcf4e4ba9fcec33985d">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="a76447120d17fd963a4b9caf73758ab05"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::SearchIterator::setText </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the string text to be searched. </p>
<p>Text iteration will hence begin at the start of the text string. This method is useful if you want to re-use an iterator to search for the same pattern within a different body of text. The user is responsible for deleting the text. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">text</td><td>string to be searched. </td></tr>
    <tr><td class="paramname">status</td><td>for errors. If the text length is 0, an U_ILLEGAL_ARGUMENT_ERROR is returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004300">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1StringSearch.html#ac53e95dd30fc6c234ed866b074450ea3">icu::StringSearch</a>.</p>

</div>
</div>
<a class="anchor" id="ad99a866c36177799e3648aab1a499597"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void icu::SearchIterator::setText </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classicu_1_1CharacterIterator.html">CharacterIterator</a> &amp;&#160;</td>
          <td class="paramname"><em>text</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the string text to be searched. </p>
<p>Text iteration will hence begin at the start of the text string. This method is useful if you want to re-use an iterator to search for the same pattern within a different body of text. </p>
<p>Note: No parsing of the text within the <code><a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a></code> will be done during searching for this version. The block of text in <code><a class="el" href="classicu_1_1CharacterIterator.html" title="Abstract class that defines an API for iteration on text objects. ">CharacterIterator</a></code> will be used as it is. The user is responsible for deleting the text. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">text</td><td>string iterator to be searched. </td></tr>
    <tr><td class="paramname">status</td><td>for errors if any. If the text length is 0 then an U_ILLEGAL_ARGUMENT_ERROR is returned. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004301">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Reimplemented in <a class="el" href="classicu_1_1StringSearch.html#afc002ea77e043044596039c5ce7f9cc5">icu::StringSearch</a>.</p>

</div>
</div>
<h2 class="groupheader">Field Documentation</h2>
<a class="anchor" id="ac154bf58b425147ab7cdf70fe1da9837"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classicu_1_1BreakIterator.html">BreakIterator</a>* icu::SearchIterator::m_breakiterator_</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>Break iterator. </p>
<p>Currently the C++ breakiterator does not have getRules etc to reproduce another in C. Hence we keep the original around and do the verification at the end of the match. The user is responsible for deleting this break iterator. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable004314">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="search_8h_source.html#l00427">427</a> of file <a class="el" href="search_8h_source.html">search.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1179431a358c02cd9390d3ce65cb2567"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="search_8h.html#ab9a54441959795454ae0406609767131">USearch</a>* icu::SearchIterator::m_search_</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>C search data struct. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004313">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="search_8h_source.html#l00417">417</a> of file <a class="el" href="search_8h_source.html">search.h</a>.</p>

</div>
</div>
<a class="anchor" id="a8a7a38a62a4950b1b8648cd327c9bade"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classicu_1_1UnicodeString.html">UnicodeString</a> icu::SearchIterator::m_text_</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>Unicode string version of the search text. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable004315">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="search_8h_source.html#l00433">433</a> of file <a class="el" href="search_8h_source.html">search.h</a>.</p>

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