Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > f51238514e2abe817779ad2fe01b0759 > files > 445

icu-doc-4.4-2.1mdv2010.2.i586.rpm

<!-- This comment will put IE 6, 7 and 8 in quirks mode -->
<!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"/>
<title>ICU 4.4: rbbi.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javaScript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body onload='searchBox.OnSelectItem(0);'>
<!-- Generated by Doxygen 1.6.1 -->
<script type="text/javascript"><!--
var searchBox = new SearchBox("searchBox", "search",false,'Search');
--></script>
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <img id="MSearchSelect" src="search/search.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)"/>
        <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
        </div>
      </li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<h1>rbbi.h</h1><a href="rbbi_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">***************************************************************************</span>
<a name="l00003"></a>00003 <span class="comment">*   Copyright (C) 1999-2008 International Business Machines Corporation   *</span>
<a name="l00004"></a>00004 <span class="comment">*   and others. All rights reserved.                                      *</span>
<a name="l00005"></a>00005 <span class="comment">***************************************************************************</span>
<a name="l00006"></a>00006 <span class="comment"></span>
<a name="l00007"></a>00007 <span class="comment">**********************************************************************</span>
<a name="l00008"></a>00008 <span class="comment">*   Date        Name        Description</span>
<a name="l00009"></a>00009 <span class="comment">*   10/22/99    alan        Creation.</span>
<a name="l00010"></a>00010 <span class="comment">*   11/11/99    rgillam     Complete port from Java.</span>
<a name="l00011"></a>00011 <span class="comment">**********************************************************************</span>
<a name="l00012"></a>00012 <span class="comment">*/</span>
<a name="l00013"></a>00013 
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef RBBI_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define RBBI_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include &quot;<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>&quot;</span>
<a name="l00018"></a>00018 
<a name="l00024"></a>00024 <span class="preprocessor">#if !UCONFIG_NO_BREAK_ITERATION</span>
<a name="l00025"></a>00025 <span class="preprocessor"></span>
<a name="l00026"></a>00026 <span class="preprocessor">#include &quot;<a class="code" href="brkiter_8h.html" title="C++ API: Break Iterator.">unicode/brkiter.h</a>&quot;</span>
<a name="l00027"></a>00027 <span class="preprocessor">#include &quot;<a class="code" href="udata_8h.html" title="C API: Data loading interface.">unicode/udata.h</a>&quot;</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include &quot;<a class="code" href="parseerr_8h.html" title="C API: Parse Error Information.">unicode/parseerr.h</a>&quot;</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include &quot;<a class="code" href="schriter_8h.html" title="C++ API: String Character Iterator.">unicode/schriter.h</a>&quot;</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include &quot;<a class="code" href="uchriter_8h.html" title="C++ API: UChar Character Iterator.">unicode/uchriter.h</a>&quot;</span>
<a name="l00031"></a>00031 
<a name="l00032"></a>00032 
<a name="l00033"></a>00033 <span class="keyword">struct </span>UTrie;
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <a class="code" href="uversion_8h.html#a7d9374e037299886d4192b763b4c5e8b" title="This is used to begin a declaration of a public ICU C++ API.">U_NAMESPACE_BEGIN</a>
<a name="l00036"></a>00036 
<a name="l00038"></a>00038 <span class="keyword">struct </span>RBBIDataHeader;
<a name="l00039"></a>00039 <span class="keyword">class  </span>RuleBasedBreakIteratorTables;
<a name="l00040"></a>00040 <span class="keyword">class  </span><a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>;
<a name="l00041"></a>00041 <span class="keyword">class  </span>RBBIDataWrapper;
<a name="l00042"></a>00042 <span class="keyword">class  </span>UStack;
<a name="l00043"></a>00043 <span class="keyword">class  </span>LanguageBreakEngine;
<a name="l00044"></a>00044 <span class="keyword">class  </span>UnhandledEngine;
<a name="l00045"></a>00045 <span class="keyword">struct </span>RBBIStateTable;
<a name="l00046"></a>00046 
<a name="l00047"></a>00047 
<a name="l00048"></a>00048 
<a name="l00049"></a>00049 
<a name="l00065"></a><a class="code" href="classRuleBasedBreakIterator.html">00065</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#a559955ec3bc692657c5d8b1c6de8e334" title="Set to export library symbols from inside the common library, and to import them...">U_COMMON_API</a> <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a> : <span class="keyword">public</span> <a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a> {
<a name="l00066"></a>00066 
<a name="l00067"></a>00067 <span class="keyword">protected</span>:
<a name="l00072"></a><a class="code" href="classRuleBasedBreakIterator.html#a419b7e787fe701da59edf938ec338348">00072</a>     <a class="code" href="structUText.html" title="UText struct.">UText</a>  *fText;
<a name="l00073"></a>00073 
<a name="l00079"></a><a class="code" href="classRuleBasedBreakIterator.html#ae31cd176a5f569eeaad260232078e1c4">00079</a>     <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>  *fCharIter;
<a name="l00080"></a>00080 
<a name="l00086"></a><a class="code" href="classRuleBasedBreakIterator.html#ab167d8622058e5c0d417dd43ef83edda">00086</a>     <a class="code" href="classStringCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code...">StringCharacterIterator</a> *fSCharIter;
<a name="l00087"></a>00087 
<a name="l00093"></a><a class="code" href="classRuleBasedBreakIterator.html#ad276784df08fcac79d039533a1341cdb">00093</a>     <a class="code" href="classUCharCharacterIterator.html" title="A concrete subclass of CharacterIterator that iterates over the characters (code...">UCharCharacterIterator</a> *fDCharIter;
<a name="l00094"></a>00094 
<a name="l00099"></a><a class="code" href="classRuleBasedBreakIterator.html#a9e4c4ce2df8bd5ec86eb24029f536fc1">00099</a>     RBBIDataWrapper    *fData;
<a name="l00100"></a>00100 
<a name="l00104"></a><a class="code" href="classRuleBasedBreakIterator.html#a0334069f3c4a9384836be7e76f8553a3">00104</a>     int32_t             fLastRuleStatusIndex;
<a name="l00105"></a>00105 
<a name="l00112"></a><a class="code" href="classRuleBasedBreakIterator.html#a724ee27f3375cb4a18a0268ddddc4e78">00112</a>     <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a>               fLastStatusIndexValid;
<a name="l00113"></a>00113 
<a name="l00119"></a><a class="code" href="classRuleBasedBreakIterator.html#a7491e4622823085f822618797ac62643">00119</a>     uint32_t            fDictionaryCharCount;
<a name="l00120"></a>00120 
<a name="l00128"></a><a class="code" href="classRuleBasedBreakIterator.html#a56b061a55c91c2f45263213b4188e19d">00128</a>     int32_t*            fCachedBreakPositions;
<a name="l00129"></a>00129 
<a name="l00134"></a><a class="code" href="classRuleBasedBreakIterator.html#ae592ba2301f6064f2f50d70196517886">00134</a>     int32_t             fNumCachedBreakPositions;
<a name="l00135"></a>00135 
<a name="l00141"></a><a class="code" href="classRuleBasedBreakIterator.html#a65ae2b4eadd5389543d7b69d2c965c9f">00141</a>     int32_t             fPositionInCache;
<a name="l00142"></a>00142     
<a name="l00150"></a><a class="code" href="classRuleBasedBreakIterator.html#af7beaa3fd16091bd2dec10e67ccec22f">00150</a>     UStack              *fLanguageBreakEngines;
<a name="l00151"></a>00151     
<a name="l00159"></a><a class="code" href="classRuleBasedBreakIterator.html#a6f39d4df45fbf35c61ac58df2746f1e9">00159</a>     UnhandledEngine     *fUnhandledBreakEngine;
<a name="l00160"></a>00160     
<a name="l00166"></a><a class="code" href="classRuleBasedBreakIterator.html#af2304ecb86e7e4e50c3aab9f4b0c1aef">00166</a>     int32_t             fBreakType;
<a name="l00167"></a>00167     
<a name="l00168"></a>00168 <span class="keyword">protected</span>:
<a name="l00169"></a>00169     <span class="comment">//=======================================================================</span>
<a name="l00170"></a>00170     <span class="comment">// constructors</span>
<a name="l00171"></a>00171     <span class="comment">//=======================================================================</span>
<a name="l00172"></a>00172 
<a name="l00181"></a><a class="code" href="classRuleBasedBreakIterator.html#a9c2fe7d0ff5c34db34f68ffd1013d970">00181</a>     <span class="keyword">enum</span> <a class="code" href="classRuleBasedBreakIterator.html#a9c2fe7d0ff5c34db34f68ffd1013d970" title="Constant to be used in the constructor RuleBasedBreakIterator(RBBIDataHeader*, EDontAdopt...">EDontAdopt</a> {
<a name="l00182"></a>00182         kDontAdopt
<a name="l00183"></a>00183     };
<a name="l00184"></a>00184 
<a name="l00195"></a>00195     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>(RBBIDataHeader* data, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l00196"></a>00196 
<a name="l00205"></a>00205     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>(<span class="keyword">const</span> RBBIDataHeader* data, <span class="keyword">enum</span> EDontAdopt dontAdopt, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l00206"></a>00206 
<a name="l00207"></a>00207 
<a name="l00208"></a>00208     <span class="keyword">friend</span> <span class="keyword">class </span>RBBIRuleBuilder;
<a name="l00210"></a><a class="code" href="classRuleBasedBreakIterator.html#a5fbb7407696454879cf016b20a0380f0">00210</a>     <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>;
<a name="l00211"></a>00211 
<a name="l00212"></a>00212 
<a name="l00213"></a>00213 
<a name="l00214"></a>00214 <span class="keyword">public</span>:
<a name="l00215"></a>00215 
<a name="l00220"></a>00220     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>();
<a name="l00221"></a>00221 
<a name="l00228"></a>00228     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>(<span class="keyword">const</span> <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>&amp; that);
<a name="l00229"></a>00229 
<a name="l00238"></a>00238     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>( <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>    &amp;rules,
<a name="l00239"></a>00239                              <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a>           &amp;parseError,
<a name="l00240"></a>00240                              <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a>            &amp;status);
<a name="l00241"></a>00241 
<a name="l00242"></a>00242 
<a name="l00255"></a>00255     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>(<a class="code" href="udata_8h.html#acffec83601fda29bd4750b24f829f56b" title="Forward declaration of the data memory type.">UDataMemory</a>* image, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l00256"></a>00256 
<a name="l00261"></a>00261     <span class="keyword">virtual</span> ~<a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>();
<a name="l00262"></a>00262 
<a name="l00270"></a>00270     <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>&amp; operator=(<span class="keyword">const</span> <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a>&amp; that);
<a name="l00271"></a>00271 
<a name="l00280"></a>00280     <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classBreakIterator.html#adef035120a8805b350ae7ec789b43093" title="Return true if another object is semantically equal to this one.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>&amp; that) <span class="keyword">const</span>;
<a name="l00281"></a>00281 
<a name="l00289"></a>00289     <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classBreakIterator.html#a188fb5d54bae55e4f9ea9730e44919a5" title="Returns the complement of the result of operator==.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>&amp; that) <span class="keyword">const</span>;
<a name="l00290"></a>00290 
<a name="l00301"></a>00301     <span class="keyword">virtual</span> <a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>* <a class="code" href="classBreakIterator.html#aa17a81d41fa791049a10c37594dad88f" title="Return a polymorphic copy of this object.">clone</a>() <span class="keyword">const</span>;
<a name="l00302"></a>00302 
<a name="l00308"></a>00308     <span class="keyword">virtual</span> int32_t hashCode(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00309"></a>00309 
<a name="l00315"></a>00315     <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; getRules(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00316"></a>00316 
<a name="l00317"></a>00317     <span class="comment">//=======================================================================</span>
<a name="l00318"></a>00318     <span class="comment">// BreakIterator overrides</span>
<a name="l00319"></a>00319     <span class="comment">//=======================================================================</span>
<a name="l00320"></a>00320 
<a name="l00346"></a>00346     <span class="keyword">virtual</span>  <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>&amp; <a class="code" href="classBreakIterator.html#ab12b76622eaa6df7d0df48778f5de1aa" title="Return a CharacterIterator over the text being analyzed.">getText</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00347"></a>00347 
<a name="l00348"></a>00348 
<a name="l00363"></a>00363      <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *<a class="code" href="classBreakIterator.html#a724d55795f3edb7748e6d6dffd80d926" title="Get a UText for the text being analyzed.">getUText</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *fillIn, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status) <span class="keyword">const</span>;
<a name="l00364"></a>00364 
<a name="l00372"></a>00372     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBreakIterator.html#a729dbe9a6437070d9fb056c6c7589563" title="Change the text over which this operates.">adoptText</a>(<a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>* newText);
<a name="l00373"></a>00373 
<a name="l00380"></a>00380     <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="classBreakIterator.html#ac50a6618fe83b9b96a7a9213c5da3f21" title="Change the text over which this operates.">setText</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>&amp; newText);
<a name="l00381"></a>00381 
<a name="l00395"></a>00395     <span class="keyword">virtual</span> <span class="keywordtype">void</span>  <a class="code" href="classBreakIterator.html#ac50a6618fe83b9b96a7a9213c5da3f21" title="Change the text over which this operates.">setText</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *text, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l00396"></a>00396 
<a name="l00402"></a>00402     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#ae09bd26e3559e18e8e46699075f477e4" title="Return the index of the first character in the text being scanned.">first</a>(<span class="keywordtype">void</span>);
<a name="l00403"></a>00403 
<a name="l00409"></a>00409     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#ab21a3083a947dd4b4f3653a0a51080c2" title="Return the index immediately BEYOND the last character in the text being scanned...">last</a>(<span class="keywordtype">void</span>);
<a name="l00410"></a>00410 
<a name="l00421"></a>00421     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#a68f3b6be789195b55204a6d86d58a8ad" title="Return the boundary following the current boundary.">next</a>(int32_t n);
<a name="l00422"></a>00422 
<a name="l00428"></a>00428     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#a68f3b6be789195b55204a6d86d58a8ad" title="Return the boundary following the current boundary.">next</a>(<span class="keywordtype">void</span>);
<a name="l00429"></a>00429 
<a name="l00435"></a>00435     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#ac4f27d685b8c1bacbad7e27a6af141f2" title="Return the boundary preceding the current boundary.">previous</a>(<span class="keywordtype">void</span>);
<a name="l00436"></a>00436 
<a name="l00444"></a>00444     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#a57f98a77f67b2ca34c26ee2e77d76e09" title="Return the first boundary following the specified offset.">following</a>(int32_t offset);
<a name="l00445"></a>00445 
<a name="l00453"></a>00453     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#a9230e330fd08bad1b6c278d322ef2385" title="Return the first boundary preceding the specified offset.">preceding</a>(int32_t offset);
<a name="l00454"></a>00454 
<a name="l00463"></a>00463     <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classBreakIterator.html#a9ac740557f08c879cceffdbb4a15fe7b" title="Return true if the specfied position is a boundary position.">isBoundary</a>(int32_t offset);
<a name="l00464"></a>00464 
<a name="l00470"></a>00470     <span class="keyword">virtual</span> int32_t <a class="code" href="classBreakIterator.html#a36835a8123d823f333af822d9c7cb8a6" title="Return character index of the current interator position within the text.">current</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00471"></a>00471 
<a name="l00472"></a>00472 
<a name="l00505"></a>00505     <span class="keyword">virtual</span> int32_t getRuleStatus() <span class="keyword">const</span>;
<a name="l00506"></a>00506 
<a name="l00530"></a>00530     <span class="keyword">virtual</span> int32_t getRuleStatusVec(int32_t *fillInVec, int32_t capacity, <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l00531"></a>00531 
<a name="l00543"></a>00543     <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported...">UClassID</a> <a class="code" href="classBreakIterator.html#aeaf98baae1d91e224ef8ccced5d2266c" title="Return a polymorphic class ID for this object.">getDynamicClassID</a>(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
<a name="l00544"></a>00544 
<a name="l00556"></a>00556     <span class="keyword">static</span> <a class="code" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f" title="UClassID is used to identify classes without using RTTI, since RTTI is not yet supported...">UClassID</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> getStaticClassID(<span class="keywordtype">void</span>);
<a name="l00557"></a>00557 
<a name="l00558"></a>00558     <span class="comment">/*</span>
<a name="l00559"></a>00559 <span class="comment">     * Create a clone (copy) of this break iterator in memory provided</span>
<a name="l00560"></a>00560 <span class="comment">     *  by the caller.  The idea is to increase performance by avoiding</span>
<a name="l00561"></a>00561 <span class="comment">     *  a storage allocation.  Use of this functoin is NOT RECOMMENDED.</span>
<a name="l00562"></a>00562 <span class="comment">     *  Performance gains are minimal, and correct buffer management is</span>
<a name="l00563"></a>00563 <span class="comment">     *  tricky.  Use clone() instead.</span>
<a name="l00564"></a>00564 <span class="comment">     *</span>
<a name="l00565"></a>00565 <span class="comment">     * @param stackBuffer  The pointer to the memory into which the cloned object</span>
<a name="l00566"></a>00566 <span class="comment">     *                     should be placed.  If NULL,  allocate heap memory</span>
<a name="l00567"></a>00567 <span class="comment">     *                     for the cloned object.</span>
<a name="l00568"></a>00568 <span class="comment">     * @param BufferSize   The size of the buffer.  If zero, return the required</span>
<a name="l00569"></a>00569 <span class="comment">     *                     buffer size, but do not clone the object.  If the</span>
<a name="l00570"></a>00570 <span class="comment">     *                     size was too small (but not zero), allocate heap</span>
<a name="l00571"></a>00571 <span class="comment">     *                     storage for the cloned object.</span>
<a name="l00572"></a>00572 <span class="comment">     *</span>
<a name="l00573"></a>00573 <span class="comment">     * @param status       Error status.  U_SAFECLONE_ALLOCATED_WARNING will be</span>
<a name="l00574"></a>00574 <span class="comment">     *                     returned if the the provided buffer was too small, and</span>
<a name="l00575"></a>00575 <span class="comment">     *                     the clone was therefore put on the heap.</span>
<a name="l00576"></a>00576 <span class="comment">     *</span>
<a name="l00577"></a>00577 <span class="comment">     * @return  Pointer to the clone object.  This may differ from the stackBuffer</span>
<a name="l00578"></a>00578 <span class="comment">     *          address if the byte alignment of the stack buffer was not suitable</span>
<a name="l00579"></a>00579 <span class="comment">     *          or if the stackBuffer was too small to hold the clone.</span>
<a name="l00580"></a>00580 <span class="comment">     * @stable ICU 2.0</span>
<a name="l00581"></a>00581 <span class="comment">     */</span>
<a name="l00582"></a>00582     <span class="keyword">virtual</span> <a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a> *  <a class="code" href="classBreakIterator.html#a6ea0e9828c9ef650086f4d3a17ce5c61" title="Thread safe client-buffer-based cloning operation Do NOT call delete on a safeclone...">createBufferClone</a>(<span class="keywordtype">void</span> *stackBuffer,
<a name="l00583"></a>00583                                                int32_t &amp;BufferSize,
<a name="l00584"></a>00584                                                <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c" title="Error code to replace exception handling, so that the code is compatible with all...">UErrorCode</a> &amp;status);
<a name="l00585"></a>00585 
<a name="l00586"></a>00586 
<a name="l00604"></a>00604     <span class="keyword">virtual</span> <span class="keyword">const</span> uint8_t *getBinaryRules(uint32_t &amp;length);
<a name="l00605"></a>00605 
<a name="l00606"></a>00606 
<a name="l00607"></a>00607 <span class="keyword">protected</span>:
<a name="l00608"></a>00608     <span class="comment">//=======================================================================</span>
<a name="l00609"></a>00609     <span class="comment">// implementation</span>
<a name="l00610"></a>00610     <span class="comment">//=======================================================================</span>
<a name="l00616"></a>00616 <span class="comment"></span>    <span class="keyword">virtual</span> <span class="keywordtype">void</span> reset(<span class="keywordtype">void</span>);
<a name="l00617"></a>00617 
<a name="l00618"></a>00618 <span class="preprocessor">#if 0</span>
<a name="l00619"></a>00619 <span class="preprocessor"></span>
<a name="l00627"></a>00627     <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isDictionaryChar(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a>);
<a name="l00628"></a>00628 
<a name="l00633"></a>00633     <span class="keyword">virtual</span> int32_t getBreakType() <span class="keyword">const</span>;
<a name="l00634"></a>00634 <span class="preprocessor">#endif</span>
<a name="l00635"></a>00635 <span class="preprocessor"></span>
<a name="l00640"></a>00640     <span class="keyword">virtual</span> <span class="keywordtype">void</span> setBreakType(int32_t type);
<a name="l00641"></a>00641 
<a name="l00647"></a>00647     <span class="keywordtype">void</span> init();
<a name="l00648"></a>00648 
<a name="l00649"></a>00649 <span class="keyword">private</span>:
<a name="l00650"></a>00650 
<a name="l00660"></a>00660     int32_t handlePrevious(<span class="keyword">const</span> RBBIStateTable *statetable);
<a name="l00661"></a>00661 
<a name="l00671"></a>00671     int32_t handleNext(<span class="keyword">const</span> RBBIStateTable *statetable);
<a name="l00672"></a>00672 
<a name="l00673"></a>00673 <span class="keyword">protected</span>:
<a name="l00674"></a>00674 
<a name="l00689"></a>00689     int32_t checkDictionary(int32_t startPos, int32_t endPos, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> reverse);
<a name="l00690"></a>00690 
<a name="l00691"></a>00691 <span class="keyword">private</span>:
<a name="l00692"></a>00692 
<a name="l00699"></a>00699     <span class="keyword">const</span> LanguageBreakEngine *getLanguageBreakEngine(<a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> c);
<a name="l00700"></a>00700 
<a name="l00704"></a>00704     <span class="keywordtype">void</span> makeRuleStatusValid();
<a name="l00705"></a>00705 
<a name="l00706"></a>00706 };
<a name="l00707"></a>00707 
<a name="l00708"></a>00708 <span class="comment">//------------------------------------------------------------------------------</span>
<a name="l00709"></a>00709 <span class="comment">//</span>
<a name="l00710"></a>00710 <span class="comment">//   Inline Functions Definitions ...</span>
<a name="l00711"></a>00711 <span class="comment">//</span>
<a name="l00712"></a>00712 <span class="comment">//------------------------------------------------------------------------------</span>
<a name="l00713"></a>00713 
<a name="l00714"></a><a class="code" href="classRuleBasedBreakIterator.html#a830c4be152a82f2a80e6059c00ad3451">00714</a> <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="classRuleBasedBreakIterator.html#a830c4be152a82f2a80e6059c00ad3451" title="Not-equal operator.">RuleBasedBreakIterator::operator!=</a>(<span class="keyword">const</span> <a class="code" href="classBreakIterator.html" title="The BreakIterator class implements methods for finding the location of boundaries...">BreakIterator</a>&amp; that)<span class="keyword"> const </span>{
<a name="l00715"></a>00715     <span class="keywordflow">return</span> !<a class="code" href="classRuleBasedBreakIterator.html#af1e72eda19a90fd2a729bddd824345d7" title="Equality operator.">operator==</a>(that);
<a name="l00716"></a>00716 }
<a name="l00717"></a>00717 
<a name="l00718"></a>00718 <a class="code" href="uversion_8h.html#a3da1f00f3b02976ac53c014a3e4c0933" title="This is used to end a declaration of a public ICU C++ API.">U_NAMESPACE_END</a>
<a name="l00719"></a>00719 
<a name="l00720"></a>00720 <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_BREAK_ITERATION */</span>
<a name="l00721"></a>00721 
<a name="l00722"></a>00722 <span class="preprocessor">#endif</span>
</pre></div></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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</span>Defines</a></div>

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

<hr size="1"/><address style="text-align: right;"><small>Generated on 16 Mar 2010 for ICU 4.4 by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>