Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > ae3ac0f3c84b68877416000d08e53ca8 > files > 56

libicu-doc-49.1.1-12.fc18.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.3.1"/>
<title>ICU 49.1.1: BoyerMooreSearch 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 style="padding-left: 0.5em;">
   <div id="projectname">ICU 49.1.1
   &#160;<span id="projectnumber">49.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
  <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 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><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">BoyerMooreSearch Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a>.  
 <a href="classBoyerMooreSearch.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="bmsearch_8h_source.html">bmsearch.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for BoyerMooreSearch:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classBoyerMooreSearch.png" usemap="#BoyerMooreSearch_map" alt=""/>
  <map id="BoyerMooreSearch_map" name="BoyerMooreSearch_map">
<area href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class." alt="UObject" shape="rect" coords="0,56,124,80"/>
<area href="classUMemory.html" title="UMemory is the common ICU base class." alt="UMemory" shape="rect" coords="0,0,124,24"/>
</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:a332f1fe871a374a51ef5c67558234080"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a332f1fe871a374a51ef5c67558234080">BoyerMooreSearch</a> (<a class="el" href="classCollData.html">CollData</a> *theData, const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;patternString, const <a class="el" href="classUnicodeString.html">UnicodeString</a> *targetString, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a332f1fe871a374a51ef5c67558234080"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <code><a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a></code> object.  <a href="#a332f1fe871a374a51ef5c67558234080">More...</a><br/></td></tr>
<tr class="separator:a332f1fe871a374a51ef5c67558234080"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b5616443bbba8b7ec88f383de45ddb6"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a7b5616443bbba8b7ec88f383de45ddb6">~BoyerMooreSearch</a> ()</td></tr>
<tr class="memdesc:a7b5616443bbba8b7ec88f383de45ddb6"><td class="mdescLeft">&#160;</td><td class="mdescRight">The desstructor.  <a href="#a7b5616443bbba8b7ec88f383de45ddb6">More...</a><br/></td></tr>
<tr class="separator:a7b5616443bbba8b7ec88f383de45ddb6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab6a4e76423cbafe07465805f2899cd6f"><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="classBoyerMooreSearch.html#ab6a4e76423cbafe07465805f2899cd6f">empty</a> ()</td></tr>
<tr class="memdesc:ab6a4e76423cbafe07465805f2899cd6f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test the pattern to see if it generates any CEs.  <a href="#ab6a4e76423cbafe07465805f2899cd6f">More...</a><br/></td></tr>
<tr class="separator:ab6a4e76423cbafe07465805f2899cd6f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65d2f4ccb9107fbeb4fb5abe41029b04"><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="classBoyerMooreSearch.html#a65d2f4ccb9107fbeb4fb5abe41029b04">search</a> (int32_t offset, int32_t &amp;start, int32_t &amp;end)</td></tr>
<tr class="memdesc:a65d2f4ccb9107fbeb4fb5abe41029b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for the pattern string in the target string.  <a href="#a65d2f4ccb9107fbeb4fb5abe41029b04">More...</a><br/></td></tr>
<tr class="separator:a65d2f4ccb9107fbeb4fb5abe41029b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86045ca4487146520c2aaf75974ae102"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a86045ca4487146520c2aaf75974ae102">setTargetString</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> *targetString, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &amp;status)</td></tr>
<tr class="memdesc:a86045ca4487146520c2aaf75974ae102"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the target string for the match.  <a href="#a86045ca4487146520c2aaf75974ae102">More...</a><br/></td></tr>
<tr class="separator:a86045ca4487146520c2aaf75974ae102"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93107993396145ab62948701bfe26816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCollData.html">CollData</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a93107993396145ab62948701bfe26816">getData</a> ()</td></tr>
<tr class="memdesc:a93107993396145ab62948701bfe26816"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <code><a class="el" href="classCollData.html" title="CollData.">CollData</a></code> object used for searching.  <a href="#a93107993396145ab62948701bfe26816">More...</a><br/></td></tr>
<tr class="separator:a93107993396145ab62948701bfe26816"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8cf795309a69e33c564e134d111bcf0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCEList.html">CEList</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a8cf795309a69e33c564e134d111bcf0a">getPatternCEs</a> ()</td></tr>
<tr class="memdesc:a8cf795309a69e33c564e134d111bcf0a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the CEs generated by the pattern string.  <a href="#a8cf795309a69e33c564e134d111bcf0a">More...</a><br/></td></tr>
<tr class="separator:a8cf795309a69e33c564e134d111bcf0a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c8c9dc3464f6a3917f89746af96be3d"><td class="memItemLeft" align="right" valign="top">BadCharacterTable *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a1c8c9dc3464f6a3917f89746af96be3d">getBadCharacterTable</a> ()</td></tr>
<tr class="memdesc:a1c8c9dc3464f6a3917f89746af96be3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <code>BadCharacterTable</code> object computed for the pattern string.  <a href="#a1c8c9dc3464f6a3917f89746af96be3d">More...</a><br/></td></tr>
<tr class="separator:a1c8c9dc3464f6a3917f89746af96be3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50250100d6fe9cb2cf1972355af7662a"><td class="memItemLeft" align="right" valign="top">GoodSuffixTable *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a50250100d6fe9cb2cf1972355af7662a">getGoodSuffixTable</a> ()</td></tr>
<tr class="memdesc:a50250100d6fe9cb2cf1972355af7662a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the <code>GoodSuffixTable</code> object computed for the pattern string.  <a href="#a50250100d6fe9cb2cf1972355af7662a">More...</a><br/></td></tr>
<tr class="separator:a50250100d6fe9cb2cf1972355af7662a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8901e315d00cf583e3b697c72683fdcc"><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="classBoyerMooreSearch.html#a8901e315d00cf583e3b697c72683fdcc">getDynamicClassID</a> () const </td></tr>
<tr class="memdesc:a8901e315d00cf583e3b697c72683fdcc"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> glue...  <a href="#a8901e315d00cf583e3b697c72683fdcc">More...</a><br/></td></tr>
<tr class="separator:a8901e315d00cf583e3b697c72683fdcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classUObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classUObject')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classUObject.html">UObject</a></td></tr>
<tr class="memitem:ace22cf29a90641ef43350deae5bedb85 inherit pub_methods_classUObject"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUObject.html#ace22cf29a90641ef43350deae5bedb85">~UObject</a> ()</td></tr>
<tr class="memdesc:ace22cf29a90641ef43350deae5bedb85 inherit pub_methods_classUObject"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor.  <a href="#ace22cf29a90641ef43350deae5bedb85">More...</a><br/></td></tr>
<tr class="separator:ace22cf29a90641ef43350deae5bedb85 inherit pub_methods_classUObject"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:abd23e2c725eb32113903024a11b7f6f7"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#abd23e2c725eb32113903024a11b7f6f7">getStaticClassID</a> ()</td></tr>
<tr class="memdesc:abd23e2c725eb32113903024a11b7f6f7"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> glue...  <a href="#abd23e2c725eb32113903024a11b7f6f7">More...</a><br/></td></tr>
<tr class="separator:abd23e2c725eb32113903024a11b7f6f7"><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><a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a>. </p>
<p>This object holds the information needed to do a Collation sensitive Boyer-Moore search. It encapulates the pattern, the "bad character" and "good suffix" tables, the Collator-based data needed to compute them, and a reference to the text being searched.</p>
<p>To do a search, you fist need to get a <code><a class="el" href="classCollData.html" title="CollData.">CollData</a></code> object by calling <code><a class="el" href="classCollData.html#aebf674446064095bc2527ab1c0e93dd1" title="Construct a CollData object.">CollData::open</a></code>. Then you construct a <code><a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a></code> object from the <code><a class="el" href="classCollData.html" title="CollData.">CollData</a></code> object, the pattern string and the target string. Then you call the <code>search</code> method. Here's a code sample:</p>
<pre>
void boyerMooreExample(UCollator *collator, UnicodeString *pattern, UnicodeString *target)
{
    UErrorCode status = U_ZERO_ERROR;
    <a class="el" href="classCollData.html" title="CollData.">CollData</a> *collData = CollData::open(collator, status);</pre><pre>    if (<a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE(status)</a>) {
        // could not create a <a class="el" href="classCollData.html" title="CollData.">CollData</a> object
        return;
    }</pre><pre>    <a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a> *search = new BoyerMooreSearch(collData, *patternString, target, status);</pre><pre>    if (<a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE(status)</a>) {
        // could not create a <a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a> object
        CollData::close(collData);
        return;
    }</pre><pre>    int32_t offset = 0, start = -1, end = -1;</pre><pre>    // Find all matches
    while (search-&gt;search(offset, start, end)) {
        // process the match between start and end
        ...
        // advance past the match
        offset = end; 
    }</pre><pre>    // at this point, if offset == 0, there were no matches
    if (offset == 0) {
        // handle the case of no matches
    }</pre><pre>    delete search;
    CollData::close(collData);</pre><pre>    // <a class="el" href="classCollData.html" title="CollData.">CollData</a> objects are cached, so the call to
    // <a class="el" href="classCollData.html#ace312528a2209fa44a65c914f7c20f84" title="Release a CollData object.">CollData::close</a> doesn't delete the object.
    // Call this if you don't need the object any more.
    <a class="el" href="classCollData.html#aaa122c473c2459af3dce95a1e26e6ede" title="CollData objects are expensive to compute, and so may be cached.">CollData::flushCollDataCache()</a>;
}
</pre><p>NOTE: This is a technology preview. The final version of this API may not bear any resenblence to this API.</p>
<p>Knows linitations: 1) Backwards searching has not been implemented.</p>
<p>2) For Han and Hangul characters, this code ignores any Collation tailorings. In general, this isn't a problem, but in Korean locals, at strength 1, Hangul characters are tailored to be equal to Han characters with the same pronounciation. Because this code ignroes tailorings, searching for a Hangul character will not find a Han character and visa-versa.</p>
<p>3) In some cases, searching for a pattern that needs to be normalized and ends in a discontiguous contraction may fail. The only known cases of this are with the Tibetan script. For example searching for the pattern "\u0F7F\u0F80\u0F81\u0F82\u0F83\u0F84\u0F85" will fail. (This case is artificial. We've been unable to find a pratical, real-world example of this failure.)</p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000228">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="classCollData.html" title="CollData.">CollData</a> </dd></dl>

<p>Definition at line <a class="el" href="bmsearch_8h_source.html#l00108">108</a> of file <a class="el" href="bmsearch_8h_source.html">bmsearch.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a332f1fe871a374a51ef5c67558234080"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BoyerMooreSearch::BoyerMooreSearch </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classCollData.html">CollData</a> *&#160;</td>
          <td class="paramname"><em>theData</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> &amp;&#160;</td>
          <td class="paramname"><em>patternString</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> *&#160;</td>
          <td class="paramname"><em>targetString</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>Construct a <code><a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch.">BoyerMooreSearch</a></code> object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">theData</td><td>- A <code><a class="el" href="classCollData.html" title="CollData.">CollData</a></code> object holding the Collator-sensitive data </td></tr>
    <tr><td class="paramname">patternString</td><td>- the string for which to search </td></tr>
    <tr><td class="paramname">targetString</td><td>- the string in which to search or <code>NULL</code> if youu will set it later by calling <code>setTargetString</code>. </td></tr>
    <tr><td class="paramname">status</td><td>- will be set if any errors occur.</td></tr>
  </table>
  </dd>
</dl>
<p>Note: if on return, status is set to an error code, the only safe thing to do with this object is to call the destructor.</p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000229">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a7b5616443bbba8b7ec88f383de45ddb6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BoyerMooreSearch::~BoyerMooreSearch </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>The desstructor. </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000230">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ab6a4e76423cbafe07465805f2899cd6f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> BoyerMooreSearch::empty </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Test the pattern to see if it generates any CEs. </p>
<dl class="section return"><dt>Returns</dt><dd><code>TRUE</code> if the pattern string did not generate any CEs</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000231">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a1c8c9dc3464f6a3917f89746af96be3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">BadCharacterTable* BoyerMooreSearch::getBadCharacterTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the <code>BadCharacterTable</code> object computed for the pattern string. </p>
<dl class="section return"><dt>Returns</dt><dd>the <code>BadCharacterTable</code> object.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000236">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a93107993396145ab62948701bfe26816"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCollData.html">CollData</a>* BoyerMooreSearch::getData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the <code><a class="el" href="classCollData.html" title="CollData.">CollData</a></code> object used for searching. </p>
<dl class="section return"><dt>Returns</dt><dd>the <code><a class="el" href="classCollData.html" title="CollData.">CollData</a></code> object used for searching</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000234">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a8901e315d00cf583e3b697c72683fdcc"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> BoyerMooreSearch::getDynamicClassID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> glue... </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000238">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

<p>Implements <a class="el" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262">UObject</a>.</p>

</div>
</div>
<a class="anchor" id="a50250100d6fe9cb2cf1972355af7662a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">GoodSuffixTable* BoyerMooreSearch::getGoodSuffixTable </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the <code>GoodSuffixTable</code> object computed for the pattern string. </p>
<dl class="section return"><dt>Returns</dt><dd>the <code>GoodSuffixTable</code> object computed for the pattern string.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000237">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a8cf795309a69e33c564e134d111bcf0a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classCEList.html">CEList</a>* BoyerMooreSearch::getPatternCEs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the CEs generated by the pattern string. </p>
<dl class="section return"><dt>Returns</dt><dd>a <code><a class="el" href="classCEList.html" title="This object holds a list of CEs generated from a particular UnicodeString">CEList</a></code> object holding the CEs generated by the pattern string.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000235">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="abd23e2c725eb32113903024a11b7f6f7"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="uobject_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> BoyerMooreSearch::getStaticClassID </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p><a class="el" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> glue... </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000239">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a65d2f4ccb9107fbeb4fb5abe41029b04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> BoyerMooreSearch::search </td>
          <td>(</td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t &amp;&#160;</td>
          <td class="paramname"><em>end</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Search for the pattern string in the target string. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">offset</td><td>- the offset in the target string at which to begin the search </td></tr>
    <tr><td class="paramname">start</td><td>- will be set to the starting offset of the match, or -1 if there's no match </td></tr>
    <tr><td class="paramname">end</td><td>- will be set to the ending offset of the match, or -1 if there's no match</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><code>TRUE</code> if the match succeeds, <code>FALSE</code> otherwise.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000232">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<a class="anchor" id="a86045ca4487146520c2aaf75974ae102"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void BoyerMooreSearch::setTargetString </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> *&#160;</td>
          <td class="paramname"><em>targetString</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 target string for the match. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">targetString</td><td>- the new target string </td></tr>
    <tr><td class="paramname">status</td><td>- will be set if any errors occur.</td></tr>
  </table>
  </dd>
</dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000233">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. ICU 4.0.1 technology preview </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="bmsearch_8h_source.html">bmsearch.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.3.1
</small></address>
</body>
</html>