Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > 0508df3f0f31cdc1fec017f60572b2b0 > files > 56

libicu-doc-4.8.1.1-5.fc17.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"/>
<title>ICU 4.8.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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 4.8.1.1
   &#160;<span id="projectnumber">4.8.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <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>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </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>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Pages</a></div>

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

</div><!-- 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><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"></a><br/></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"></a><br/></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"></a><br/></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> (<a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> offset, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> &amp;start, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> &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"></a><br/></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"></a><br/></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"></a><br/></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"></a><br/></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"></a><br/></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"></a><br/></td></tr>
<tr class="memitem:a8901e315d00cf583e3b697c72683fdcc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="utypes_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"></a><br/></td></tr>
<tr class="inherit_header pub_methods_classUObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classUObject')"><img src="closed.png" alt="-"/>&nbsp;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"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><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="utypes_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"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>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#_internal000219">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#l00107">107</a> of file <a class="el" href="bmsearch_8h_source.html">bmsearch.h</a>.</p>
</div><hr/><h2>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#_internal000220">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#_internal000221">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/><h2>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#_internal000222">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#_internal000227">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#_internal000225">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="utypes_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#_internal000229">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#_internal000228">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#_internal000226">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="utypes_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#_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>
<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"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>offset</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> &amp;&#160;</td>
          <td class="paramname"><em>start</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> &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#_internal000223">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#_internal000224">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.1.1
</small></address>
</body>
</html>