Server IP : 103.119.228.120 / Your IP : 3.145.108.43 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/ssl/local/ssl/local/easy/share/doc/easy-libicu-doc-4.0.1/ |
Upload File : |
<!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.5"/> <title>ICU 4.0.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.0.1 </div> </td> </tr> </tbody> </table> </div> <!-- end header part --> <!-- Generated by Doxygen 1.8.5 --> <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 Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data 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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </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> | <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 <<a class="el" href="bmsearch_8h_source.html">bmsearch.h</a>></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 "boilerplate" 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"> </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> &patternString, const <a class="el" href="classUnicodeString.html">UnicodeString</a> *targetString, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr class="memdesc:a332f1fe871a374a51ef5c67558234080"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a7b5616443bbba8b7ec88f383de45ddb6"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a7b5616443bbba8b7ec88f383de45ddb6">~BoyerMooreSearch</a> ()</td></tr> <tr class="memdesc:a7b5616443bbba8b7ec88f383de45ddb6"><td class="mdescLeft"> </td><td class="mdescRight">The desstructor. <a href="#a7b5616443bbba8b7ec88f383de45ddb6">More...</a><br/></td></tr> <tr class="separator:a7b5616443bbba8b7ec88f383de45ddb6"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ab6a4e76423cbafe07465805f2899cd6f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#ab6a4e76423cbafe07465805f2899cd6f">empty</a> ()</td></tr> <tr class="memdesc:ab6a4e76423cbafe07465805f2899cd6f"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a65d2f4ccb9107fbeb4fb5abe41029b04"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a65d2f4ccb9107fbeb4fb5abe41029b04">search</a> (int32_t offset, int32_t &start, int32_t &end)</td></tr> <tr class="memdesc:a65d2f4ccb9107fbeb4fb5abe41029b04"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a86045ca4487146520c2aaf75974ae102"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> </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> &status)</td></tr> <tr class="memdesc:a86045ca4487146520c2aaf75974ae102"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a93107993396145ab62948701bfe26816"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCollData.html">CollData</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a93107993396145ab62948701bfe26816">getData</a> ()</td></tr> <tr class="memdesc:a93107993396145ab62948701bfe26816"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a8cf795309a69e33c564e134d111bcf0a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classCEList.html">CEList</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a8cf795309a69e33c564e134d111bcf0a">getPatternCEs</a> ()</td></tr> <tr class="memdesc:a8cf795309a69e33c564e134d111bcf0a"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a1c8c9dc3464f6a3917f89746af96be3d"><td class="memItemLeft" align="right" valign="top">BadCharacterTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a1c8c9dc3464f6a3917f89746af96be3d">getBadCharacterTable</a> ()</td></tr> <tr class="memdesc:a1c8c9dc3464f6a3917f89746af96be3d"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a50250100d6fe9cb2cf1972355af7662a"><td class="memItemLeft" align="right" valign="top">GoodSuffixTable * </td><td class="memItemRight" valign="bottom"><a class="el" href="classBoyerMooreSearch.html#a50250100d6fe9cb2cf1972355af7662a">getGoodSuffixTable</a> ()</td></tr> <tr class="memdesc:a50250100d6fe9cb2cf1972355af7662a"><td class="mdescLeft"> </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"> </td></tr> <tr class="memitem:a8901e315d00cf583e3b697c72683fdcc"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </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"> </td><td class="mdescRight">ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. <a href="#a8901e315d00cf583e3b697c72683fdcc">More...</a><br/></td></tr> <tr class="separator:a8901e315d00cf583e3b697c72683fdcc"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_methods_classUObject"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classUObject')"><img src="closed.png" alt="-"/> 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 </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"> </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"> </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"><a class="anchor" id="abd23e2c725eb32113903024a11b7f6f7"></a> static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><b>getStaticClassID</b> ()</td></tr> <tr class="separator:abd23e2c725eb32113903024a11b7f6f7"><td class="memSeparator" colspan="2"> </td></tr> <tr class="inherit_header pub_static_methods_classUMemory"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classUMemory')"><img src="closed.png" alt="-"/> Static Public Member Functions inherited from <a class="el" href="classUMemory.html">UMemory</a></td></tr> <tr class="memitem:a309b19b5777e2840b85b202aef5a54fb inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a309b19b5777e2840b85b202aef5a54fb">operator new</a> (size_t size)</td></tr> <tr class="memdesc:a309b19b5777e2840b85b202aef5a54fb inherit pub_static_methods_classUMemory"><td class="mdescLeft"> </td><td class="mdescRight">Override for ICU4C C++ memory management. <a href="#a309b19b5777e2840b85b202aef5a54fb">More...</a><br/></td></tr> <tr class="separator:a309b19b5777e2840b85b202aef5a54fb inherit pub_static_methods_classUMemory"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a4d0df3571728e7b8a823dbbea6e9b5c5 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a4d0df3571728e7b8a823dbbea6e9b5c5">operator new[]</a> (size_t size)</td></tr> <tr class="memdesc:a4d0df3571728e7b8a823dbbea6e9b5c5 inherit pub_static_methods_classUMemory"><td class="mdescLeft"> </td><td class="mdescRight">Override for ICU4C C++ memory management. <a href="#a4d0df3571728e7b8a823dbbea6e9b5c5">More...</a><br/></td></tr> <tr class="separator:a4d0df3571728e7b8a823dbbea6e9b5c5 inherit pub_static_methods_classUMemory"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:adcda65a58813749f8f45c5e6c1ed37e1 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#adcda65a58813749f8f45c5e6c1ed37e1">operator delete</a> (<a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> *p)</td></tr> <tr class="memdesc:adcda65a58813749f8f45c5e6c1ed37e1 inherit pub_static_methods_classUMemory"><td class="mdescLeft"> </td><td class="mdescRight">Override for ICU4C C++ memory management. <a href="#adcda65a58813749f8f45c5e6c1ed37e1">More...</a><br/></td></tr> <tr class="separator:adcda65a58813749f8f45c5e6c1ed37e1 inherit pub_static_methods_classUMemory"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a7602a7a8c6fdff21d9fbecea4d899333 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a7602a7a8c6fdff21d9fbecea4d899333">operator delete[]</a> (<a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> *p)</td></tr> <tr class="memdesc:a7602a7a8c6fdff21d9fbecea4d899333 inherit pub_static_methods_classUMemory"><td class="mdescLeft"> </td><td class="mdescRight">Override for ICU4C C++ memory management. <a href="#a7602a7a8c6fdff21d9fbecea4d899333">More...</a><br/></td></tr> <tr class="separator:a7602a7a8c6fdff21d9fbecea4d899333 inherit pub_static_methods_classUMemory"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a43b5221fe429f77230b2040f8724c154 inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a43b5221fe429f77230b2040f8724c154">operator new</a> (size_t, <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> *ptr)</td></tr> <tr class="memdesc:a43b5221fe429f77230b2040f8724c154 inherit pub_static_methods_classUMemory"><td class="mdescLeft"> </td><td class="mdescRight">Override for ICU4C C++ memory management for STL. <a href="#a43b5221fe429f77230b2040f8724c154">More...</a><br/></td></tr> <tr class="separator:a43b5221fe429f77230b2040f8724c154 inherit pub_static_methods_classUMemory"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a9b746b0cdb49c8f8907773002ea5c4ea inherit pub_static_methods_classUMemory"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classUMemory.html#a9b746b0cdb49c8f8907773002ea5c4ea">operator delete</a> (<a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> *, <a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> *)</td></tr> <tr class="memdesc:a9b746b0cdb49c8f8907773002ea5c4ea inherit pub_static_methods_classUMemory"><td class="mdescLeft"> </td><td class="mdescRight">Override for ICU4C C++ memory management for STL. <a href="#a9b746b0cdb49c8f8907773002ea5c4ea">More...</a><br/></td></tr> <tr class="separator:a9b746b0cdb49c8f8907773002ea5c4ea inherit pub_static_methods_classUMemory"><td class="memSeparator" colspan="2"> </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 <a class="el" href="classBoyerMooreSearch.html" title="BoyerMooreSearch. ">BoyerMooreSearch(collData, *patternString, target, status)</a>;</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->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#_internal000099">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><h2 class="groupheader">Constructor & 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> * </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> & </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> * </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> & </td> <td class="paramname"><em>status</em> </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#_internal000100">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#_internal000101">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#_internal000102">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#_internal000107">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#_internal000105">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>ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class. </p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable001568">Stable:</a></b></dt><dd>ICU 2.2 </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#_internal000108">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="CEList. ">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#_internal000106">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 </td> <td class="paramname"><em>offset</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t & </td> <td class="paramname"><em>start</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int32_t & </td> <td class="paramname"><em>end</em> </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#_internal000103">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"><a class="el" href="ucnv_8h.html#aa953bd3cedaedf78b700c837361fe00b">void</a> BoyerMooreSearch::setTargetString </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> * </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> & </td> <td class="paramname"><em>status</em> </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#_internal000104">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  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.5 </small></address> </body> </html>