<!-- 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.1: regex.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.2-20100208 --> <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 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><a href="annotated.html"><span>Data 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 List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <h1>regex.h</h1><a href="regex_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) 2002-2010, International Business Machines</span> <a name="l00004"></a>00004 <span class="comment">* Corporation and others. All Rights Reserved.</span> <a name="l00005"></a>00005 <span class="comment">**********************************************************************</span> <a name="l00006"></a>00006 <span class="comment">* file name: regex.h</span> <a name="l00007"></a>00007 <span class="comment">* encoding: US-ASCII</span> <a name="l00008"></a>00008 <span class="comment">* indentation:4</span> <a name="l00009"></a>00009 <span class="comment">*</span> <a name="l00010"></a>00010 <span class="comment">* created on: 2002oct22</span> <a name="l00011"></a>00011 <span class="comment">* created by: Andy Heninger</span> <a name="l00012"></a>00012 <span class="comment">*</span> <a name="l00013"></a>00013 <span class="comment">* ICU Regular Expressions, API for C++</span> <a name="l00014"></a>00014 <span class="comment">*/</span> <a name="l00015"></a>00015 <a name="l00016"></a>00016 <span class="preprocessor">#ifndef REGEX_H</span> <a name="l00017"></a>00017 <span class="preprocessor"></span><span class="preprocessor">#define REGEX_H</span> <a name="l00018"></a>00018 <span class="preprocessor"></span> <a name="l00019"></a>00019 <span class="comment">//#define REGEX_DEBUG</span> <a name="l00020"></a>00020 <a name="l00045"></a>00045 <span class="preprocessor">#include "<a class="code" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">unicode/utypes.h</a>"</span> <a name="l00046"></a>00046 <a name="l00047"></a>00047 <span class="preprocessor">#if !UCONFIG_NO_REGULAR_EXPRESSIONS</span> <a name="l00048"></a>00048 <span class="preprocessor"></span> <a name="l00049"></a>00049 <span class="preprocessor">#include "<a class="code" href="uobject_8h.html" title="C++ API: Common ICU base class UObject.">unicode/uobject.h</a>"</span> <a name="l00050"></a>00050 <span class="preprocessor">#include "<a class="code" href="unistr_8h.html" title="C++ API: Unicode String.">unicode/unistr.h</a>"</span> <a name="l00051"></a>00051 <span class="preprocessor">#include "<a class="code" href="utext_8h.html" title="C API: Abstract Unicode Text API.">unicode/utext.h</a>"</span> <a name="l00052"></a>00052 <span class="preprocessor">#include "<a class="code" href="parseerr_8h.html" title="C API: Parse Error Information.">unicode/parseerr.h</a>"</span> <a name="l00053"></a>00053 <a name="l00054"></a>00054 <span class="preprocessor">#include "<a class="code" href="uregex_8h.html" title="C API: Regular Expressions.">unicode/uregex.h</a>"</span> <a name="l00055"></a>00055 <a name="l00056"></a>00056 <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="l00057"></a>00057 <a name="l00058"></a>00058 <a name="l00059"></a>00059 <span class="comment">// Forward Declarations...</span> <a name="l00060"></a>00060 <a name="l00061"></a>00061 <span class="keyword">class </span><a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>; <a name="l00062"></a>00062 <span class="keyword">class </span><a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>; <a name="l00063"></a>00063 <span class="keyword">class </span>UVector; <a name="l00064"></a>00064 <span class="keyword">class </span>UVector32; <a name="l00065"></a>00065 <span class="keyword">class </span>UVector64; <a name="l00066"></a>00066 <span class="keyword">class </span><a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a>; <a name="l00067"></a>00067 <span class="keyword">struct </span>REStackFrame; <a name="l00068"></a>00068 <span class="keyword">struct </span>Regex8BitSet; <a name="l00069"></a>00069 <span class="keyword">class </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="l00070"></a>00070 <span class="keyword">class </span>RegexCImpl; <a name="l00071"></a>00071 <a name="l00072"></a>00072 <a name="l00073"></a>00073 <a name="l00074"></a>00074 <a name="l00079"></a>00079 <span class="preprocessor">#ifdef REGEX_DEBUG</span> <a name="l00080"></a>00080 <span class="preprocessor"></span><a class="code" href="umachine_8h.html#a161dba69f4e479c3626793efc42f94ba" title="This is used to declare a function as an internal ICU C API.">U_INTERNAL</a> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> <a name="l00081"></a>00081 <a class="code" href="regex_8h.html#adb99cedafe6d353311aac44514f846be" title="RBBIPatternDump Debug function, displays the compiled form of a pattern.">RegexPatternDump</a>(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> *pat); <a name="l00082"></a>00082 <span class="preprocessor">#else</span> <a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor"> #undef RegexPatternDump</span> <a name="l00084"></a><a class="code" href="regex_8h.html#adb99cedafe6d353311aac44514f846be">00084</a> <span class="preprocessor"></span><span class="preprocessor"> #define RegexPatternDump(pat)</span> <a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#endif</span> <a name="l00086"></a>00086 <span class="preprocessor"></span> <a name="l00087"></a>00087 <a name="l00088"></a>00088 <a name="l00100"></a><a class="code" href="classRegexPattern.html">00100</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from...">U_I18N_API</a> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>: <span class="keyword">public</span> <a class="code" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> { <a name="l00101"></a>00101 <span class="keyword">public</span>: <a name="l00102"></a>00102 <a name="l00110"></a>00110 <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>(); <a name="l00111"></a>00111 <a name="l00118"></a>00118 <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> &source); <a name="l00119"></a>00119 <a name="l00125"></a>00125 <span class="keyword">virtual</span> ~<a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>(); <a name="l00126"></a>00126 <a name="l00135"></a>00135 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator==</a>(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>& that) <span class="keyword">const</span>; <a name="l00136"></a>00136 <a name="l00145"></a><a class="code" href="classRegexPattern.html#a881d8d89c3c5859420874e5a62d21be6">00145</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="classRegexPattern.html#a881d8d89c3c5859420874e5a62d21be6" title="Comparison operator.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>& that)<span class="keyword"> const </span>{<span class="keywordflow">return</span> ! <a class="code" href="stringpiece_8h.html#a7652049cbac0bfeae2cd2aa4514a3352" title="Global operator == for StringPiece.">operator ==</a>(that);}; <a name="l00146"></a>00146 <a name="l00152"></a>00152 <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> &operator =(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> &source); <a name="l00153"></a>00153 <a name="l00161"></a>00161 <span class="keyword">virtual</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> *clone() <span class="keyword">const</span>; <a name="l00162"></a>00162 <a name="l00163"></a>00163 <a name="l00188"></a>00188 <span class="keyword">static</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> * <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compile( <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> &regex, <a name="l00189"></a>00189 <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a> &pe, <a name="l00190"></a>00190 <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> &status); <a name="l00191"></a>00191 <a name="l00192"></a>00192 <a name="l00219"></a>00219 <span class="keyword">static</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> * <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compile( <a class="code" href="structUText.html" title="UText struct.">UText</a> *regex, <a name="l00220"></a>00220 <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a> &pe, <a name="l00221"></a>00221 <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> &status); <a name="l00222"></a>00222 <a name="l00247"></a>00247 <span class="keyword">static</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> * <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compile( <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> &regex, <a name="l00248"></a>00248 uint32_t flags, <a name="l00249"></a>00249 <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a> &pe, <a name="l00250"></a>00250 <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> &status); <a name="l00251"></a>00251 <a name="l00252"></a>00252 <a name="l00279"></a>00279 <span class="keyword">static</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> * <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compile( <a class="code" href="structUText.html" title="UText struct.">UText</a> *regex, <a name="l00280"></a>00280 uint32_t flags, <a name="l00281"></a>00281 <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a> &pe, <a name="l00282"></a>00282 <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> &status); <a name="l00283"></a>00283 <a name="l00284"></a>00284 <a name="l00307"></a>00307 <span class="keyword">static</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> * <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compile( <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> &regex, <a name="l00308"></a>00308 uint32_t flags, <a name="l00309"></a>00309 <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> &status); <a name="l00310"></a>00310 <a name="l00311"></a>00311 <a name="l00336"></a>00336 <span class="keyword">static</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> * <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compile( <a class="code" href="structUText.html" title="UText struct.">UText</a> *regex, <a name="l00337"></a>00337 uint32_t flags, <a name="l00338"></a>00338 <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> &status); <a name="l00339"></a>00339 <a name="l00340"></a>00340 <a name="l00346"></a>00346 <span class="keyword">virtual</span> uint32_t flags() <span class="keyword">const</span>; <a name="l00347"></a>00347 <a name="l00365"></a>00365 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> *matcher(<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> &input, <a name="l00366"></a>00366 <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> &status) <span class="keyword">const</span>; <a name="l00367"></a>00367 <a name="l00368"></a>00368 <a name="l00373"></a><a class="code" href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e">00373</a> <span class="keyword">enum</span> <a class="code" href="classRegexPattern.html#a74d7f491f0cf52e2bfc179db86b7bc9e" title="Flag to disambiguate RegexPattern::matcher signature.">PatternIsUTextFlag</a> { PATTERN_IS_UTEXT }; <a name="l00374"></a>00374 <a name="l00394"></a>00394 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> *matcher(<a class="code" href="structUText.html" title="UText struct.">UText</a> *input, <a name="l00395"></a>00395 PatternIsUTextFlag flag, <a name="l00396"></a>00396 <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> &status) <span class="keyword">const</span>; <a name="l00397"></a>00397 <a name="l00398"></a>00398 <span class="keyword">private</span>: <a name="l00412"></a>00412 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> *matcher(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *input, <a name="l00413"></a>00413 <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> &status) <span class="keyword">const</span>; <a name="l00414"></a>00414 <span class="keyword">public</span>: <a name="l00415"></a>00415 <a name="l00416"></a>00416 <a name="l00428"></a>00428 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> *matcher(<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> &status) <span class="keyword">const</span>; <a name="l00429"></a>00429 <a name="l00430"></a>00430 <a name="l00445"></a>00445 <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> matches(<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> &regex, <a name="l00446"></a>00446 <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> &input, <a name="l00447"></a>00447 <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a> &pe, <a name="l00448"></a>00448 <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> &status); <a name="l00449"></a>00449 <a name="l00450"></a>00450 <a name="l00465"></a>00465 <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> matches(<a class="code" href="structUText.html" title="UText struct.">UText</a> *regex, <a name="l00466"></a>00466 <a class="code" href="structUText.html" title="UText struct.">UText</a> *input, <a name="l00467"></a>00467 <a class="code" href="structUParseError.html" title="A UParseError struct is used to returned detailed information about parsing errors...">UParseError</a> &pe, <a name="l00468"></a>00468 <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> &status); <a name="l00469"></a>00469 <a name="l00470"></a>00470 <a name="l00479"></a>00479 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> pattern() <span class="keyword">const</span>; <a name="l00480"></a>00480 <a name="l00481"></a>00481 <a name="l00492"></a>00492 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *patternText() <span class="keyword">const</span>; <a name="l00493"></a>00493 <a name="l00494"></a>00494 <a name="l00520"></a>00520 <span class="keyword">virtual</span> int32_t split(<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> &input, <a name="l00521"></a>00521 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> dest[], <a name="l00522"></a>00522 int32_t destCapacity, <a name="l00523"></a>00523 <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> &status) <span class="keyword">const</span>; <a name="l00524"></a>00524 <a name="l00525"></a>00525 <a name="l00551"></a>00551 <span class="keyword">virtual</span> int32_t split(<a class="code" href="structUText.html" title="UText struct.">UText</a> *input, <a name="l00552"></a>00552 <a class="code" href="structUText.html" title="UText struct.">UText</a> *dest[], <a name="l00553"></a>00553 int32_t destCapacity, <a name="l00554"></a>00554 <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> &status) <span class="keyword">const</span>; <a name="l00555"></a>00555 <a name="l00556"></a>00556 <a name="l00562"></a>00562 <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="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262" title="ICU4C &quot;poor man&#39;s RTTI&quot;, returns a UClassID for the actual ICU class...">getDynamicClassID</a>() <span class="keyword">const</span>; <a name="l00563"></a>00563 <a name="l00569"></a>00569 <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(); <a name="l00570"></a>00570 <a name="l00571"></a>00571 <span class="keyword">private</span>: <a name="l00572"></a>00572 <span class="comment">//</span> <a name="l00573"></a>00573 <span class="comment">// Implementation Data</span> <a name="l00574"></a>00574 <span class="comment">//</span> <a name="l00575"></a>00575 <a class="code" href="structUText.html" title="UText struct.">UText</a> *fPattern; <span class="comment">// The original pattern string.</span> <a name="l00576"></a>00576 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> *fPatternString; <span class="comment">// The original pattern UncodeString if relevant</span> <a name="l00577"></a>00577 uint32_t fFlags; <span class="comment">// The flags used when compiling the pattern.</span> <a name="l00578"></a>00578 <span class="comment">//</span> <a name="l00579"></a>00579 UVector64 *fCompiledPat; <span class="comment">// The compiled pattern p-code.</span> <a name="l00580"></a>00580 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> fLiteralText; <span class="comment">// Any literal string data from the pattern,</span> <a name="l00581"></a>00581 <span class="comment">// after un-escaping, for use during the match.</span> <a name="l00582"></a>00582 <a name="l00583"></a>00583 UVector *fSets; <span class="comment">// Any UnicodeSets referenced from the pattern.</span> <a name="l00584"></a>00584 Regex8BitSet *fSets8; <span class="comment">// (and fast sets for latin-1 range.)</span> <a name="l00585"></a>00585 <a name="l00586"></a>00586 <a name="l00587"></a>00587 <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> fDeferredStatus; <span class="comment">// status if some prior error has left this</span> <a name="l00588"></a>00588 <span class="comment">// RegexPattern in an unusable state.</span> <a name="l00589"></a>00589 <a name="l00590"></a>00590 int32_t fMinMatchLen; <span class="comment">// Minimum Match Length. All matches will have length</span> <a name="l00591"></a>00591 <span class="comment">// >= this value. For some patterns, this calculated</span> <a name="l00592"></a>00592 <span class="comment">// value may be less than the true shortest</span> <a name="l00593"></a>00593 <span class="comment">// possible match.</span> <a name="l00594"></a>00594 <a name="l00595"></a>00595 int32_t fFrameSize; <span class="comment">// Size of a state stack frame in the</span> <a name="l00596"></a>00596 <span class="comment">// execution engine.</span> <a name="l00597"></a>00597 <a name="l00598"></a>00598 int32_t fDataSize; <span class="comment">// The size of the data needed by the pattern that</span> <a name="l00599"></a>00599 <span class="comment">// does not go on the state stack, but has just</span> <a name="l00600"></a>00600 <span class="comment">// a single copy per matcher.</span> <a name="l00601"></a>00601 <a name="l00602"></a>00602 UVector32 *fGroupMap; <span class="comment">// Map from capture group number to position of</span> <a name="l00603"></a>00603 <span class="comment">// the group's variables in the matcher stack frame.</span> <a name="l00604"></a>00604 <a name="l00605"></a>00605 int32_t fMaxCaptureDigits; <a name="l00606"></a>00606 <a name="l00607"></a>00607 <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> **fStaticSets; <span class="comment">// Ptr to static (shared) sets for predefined</span> <a name="l00608"></a>00608 <span class="comment">// regex character classes, e.g. Word.</span> <a name="l00609"></a>00609 <a name="l00610"></a>00610 Regex8BitSet *fStaticSets8; <span class="comment">// Ptr to the static (shared) latin-1 only</span> <a name="l00611"></a>00611 <span class="comment">// sets for predefined regex classes.</span> <a name="l00612"></a>00612 <a name="l00613"></a>00613 int32_t fStartType; <span class="comment">// Info on how a match must start.</span> <a name="l00614"></a>00614 int32_t fInitialStringIdx; <span class="comment">//</span> <a name="l00615"></a>00615 int32_t fInitialStringLen; <a name="l00616"></a>00616 <a class="code" href="classUnicodeSet.html" title="A mutable set of Unicode characters and multicharacter strings.">UnicodeSet</a> *fInitialChars; <a name="l00617"></a>00617 <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> fInitialChar; <a name="l00618"></a>00618 Regex8BitSet *fInitialChars8; <a name="l00619"></a>00619 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fNeedsAltInput; <a name="l00620"></a>00620 <a name="l00621"></a>00621 <span class="keyword">friend</span> <span class="keyword">class </span>RegexCompile; <a name="l00622"></a>00622 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>; <a name="l00623"></a>00623 <span class="keyword">friend</span> <span class="keyword">class </span>RegexCImpl; <a name="l00624"></a>00624 <a name="l00625"></a>00625 <span class="comment">//</span> <a name="l00626"></a>00626 <span class="comment">// Implementation Methods</span> <a name="l00627"></a>00627 <span class="comment">//</span> <a name="l00628"></a>00628 <span class="keywordtype">void</span> init(); <span class="comment">// Common initialization, for use by constructors.</span> <a name="l00629"></a>00629 <span class="keywordtype">void</span> zap(); <span class="comment">// Common cleanup</span> <a name="l00630"></a>00630 <span class="preprocessor">#ifdef REGEX_DEBUG</span> <a name="l00631"></a>00631 <span class="preprocessor"></span> <span class="keywordtype">void</span> dumpOp(int32_t index) <span class="keyword">const</span>; <a name="l00632"></a>00632 <span class="keyword">friend</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> <a class="code" href="regex_8h.html#adb99cedafe6d353311aac44514f846be" title="RBBIPatternDump Debug function, displays the compiled form of a pattern.">RegexPatternDump</a>(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> *); <a name="l00633"></a>00633 <span class="preprocessor">#endif</span> <a name="l00634"></a>00634 <span class="preprocessor"></span> <a name="l00635"></a>00635 }; <a name="l00636"></a>00636 <a name="l00637"></a>00637 <a name="l00638"></a>00638 <a name="l00648"></a><a class="code" href="classRegexMatcher.html">00648</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#ab9d90a30137b6ec046fe59e79b09745a" title="Set to export library symbols from inside the i18n library, and to import them from...">U_I18N_API</a> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>: <span class="keyword">public</span> <a class="code" href="classUObject.html" title="UObject is the common ICU &quot;boilerplate&quot; class.">UObject</a> { <a name="l00649"></a>00649 <span class="keyword">public</span>: <a name="l00650"></a>00650 <a name="l00665"></a>00665 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</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> &regexp, uint32_t flags, <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> &status); <a name="l00666"></a>00666 <a name="l00682"></a>00682 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *regexp, uint32_t flags, <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> &status); <a name="l00683"></a>00683 <a name="l00705"></a>00705 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</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> &regexp, <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> &input, <a name="l00706"></a>00706 uint32_t flags, <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> &status); <a name="l00707"></a>00707 <a name="l00729"></a>00729 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>(<a class="code" href="structUText.html" title="UText struct.">UText</a> *regexp, <a class="code" href="structUText.html" title="UText struct.">UText</a> *input, <a name="l00730"></a>00730 uint32_t flags, <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> &status); <a name="l00731"></a>00731 <a name="l00732"></a>00732 <span class="keyword">private</span>: <a name="l00746"></a>00746 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</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> &regexp, <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *input, <a name="l00747"></a>00747 uint32_t flags, <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> &status); <a name="l00748"></a>00748 <span class="keyword">public</span>: <a name="l00749"></a>00749 <a name="l00750"></a>00750 <a name="l00756"></a>00756 <span class="keyword">virtual</span> ~<a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>(); <a name="l00757"></a>00757 <a name="l00758"></a>00758 <a name="l00765"></a>00765 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> matches(<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> &status); <a name="l00766"></a>00766 <a name="l00767"></a>00767 <a name="l00778"></a>00778 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> matches(int32_t startIndex, <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> &status); <a name="l00779"></a>00779 <a name="l00780"></a>00780 <a name="l00794"></a>00794 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> lookingAt(<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> &status); <a name="l00795"></a>00795 <a name="l00796"></a>00796 <a name="l00810"></a>00810 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> lookingAt(int32_t startIndex, <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> &status); <a name="l00811"></a>00811 <a name="l00812"></a>00812 <a name="l00825"></a>00825 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> find(); <a name="l00826"></a>00826 <a name="l00827"></a>00827 <a name="l00837"></a>00837 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> find(int32_t start, <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> &status); <a name="l00838"></a>00838 <a name="l00839"></a>00839 <a name="l00849"></a>00849 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> group(<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> &status) <span class="keyword">const</span>; <a name="l00850"></a>00850 <a name="l00851"></a>00851 <a name="l00856"></a><a class="code" href="classRegexMatcher.html#a208a25b619c2d1451a0ffaae72f5277d">00856</a> <span class="keyword">enum</span> <a class="code" href="classRegexMatcher.html#a208a25b619c2d1451a0ffaae72f5277d" title="Flag to disambiguate RegexMatcher::group signature.">MatcherDestIsUTextFlag</a> { MATCHER_DEST_IS_UTEXT }; <a name="l00857"></a>00857 <a name="l00873"></a>00873 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *group(<a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, MatcherDestIsUTextFlag flag, <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> &status) <span class="keyword">const</span>; <a name="l00874"></a>00874 <a name="l00875"></a>00875 <a name="l00888"></a>00888 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> group(int32_t groupNum, <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> &status) <span class="keyword">const</span>; <a name="l00889"></a>00889 <a name="l00890"></a>00890 <a name="l00906"></a>00906 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *group(int32_t groupNum, <a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <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> &status) <span class="keyword">const</span>; <a name="l00907"></a>00907 <a name="l00908"></a>00908 <a name="l00914"></a>00914 <span class="keyword">virtual</span> int32_t groupCount() <span class="keyword">const</span>; <a name="l00915"></a>00915 <a name="l00916"></a>00916 <a name="l00924"></a>00924 <span class="keyword">virtual</span> int32_t start(<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> &status) <span class="keyword">const</span>; <a name="l00925"></a>00925 <a name="l00926"></a>00926 <a name="l00940"></a>00940 <span class="keyword">virtual</span> int32_t start(int32_t group, <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> &status) <span class="keyword">const</span>; <a name="l00941"></a>00941 <a name="l00942"></a>00942 <a name="l00952"></a>00952 <span class="keyword">virtual</span> int32_t end(<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> &status) <span class="keyword">const</span>; <a name="l00953"></a>00953 <a name="l00954"></a>00954 <a name="l00968"></a>00968 <span class="keyword">virtual</span> int32_t end(int32_t group, <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> &status) <span class="keyword">const</span>; <a name="l00969"></a>00969 <a name="l00970"></a>00970 <a name="l00979"></a>00979 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &reset(); <a name="l00980"></a>00980 <a name="l00981"></a>00981 <a name="l00997"></a>00997 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &reset(int32_t index, <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> &status); <a name="l00998"></a>00998 <a name="l00999"></a>00999 <a name="l01017"></a>01017 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &reset(<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> &input); <a name="l01018"></a>01018 <a name="l01019"></a>01019 <a name="l01033"></a>01033 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &reset(<a class="code" href="structUText.html" title="UText struct.">UText</a> *input); <a name="l01034"></a>01034 <a name="l01035"></a>01035 <span class="keyword">private</span>: <a name="l01049"></a>01049 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &reset(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac" title="Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned...">UChar</a> *input); <a name="l01050"></a>01050 <span class="keyword">public</span>: <a name="l01051"></a>01051 <a name="l01059"></a>01059 <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> &input() <span class="keyword">const</span>; <a name="l01060"></a>01060 <a name="l01069"></a>01069 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *inputText() <span class="keyword">const</span>; <a name="l01070"></a>01070 <a name="l01080"></a>01080 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *getInput(<a class="code" href="structUText.html" title="UText struct.">UText</a> *dest) <span class="keyword">const</span>; <a name="l01081"></a>01081 <a name="l01082"></a>01082 <a name="l01101"></a>01101 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &region(int32_t start, int32_t limit, <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> &status); <a name="l01102"></a>01102 <a name="l01103"></a>01103 <a name="l01112"></a>01112 <span class="keyword">virtual</span> int32_t regionStart() <span class="keyword">const</span>; <a name="l01113"></a>01113 <a name="l01114"></a>01114 <a name="l01123"></a>01123 <span class="keyword">virtual</span> int32_t regionEnd() <span class="keyword">const</span>; <a name="l01124"></a>01124 <a name="l01133"></a>01133 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> hasTransparentBounds() <span class="keyword">const</span>; <a name="l01134"></a>01134 <a name="l01153"></a>01153 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &useTransparentBounds(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> b); <a name="l01154"></a>01154 <a name="l01155"></a>01155 <a name="l01163"></a>01163 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> hasAnchoringBounds() <span class="keyword">const</span>; <a name="l01164"></a>01164 <a name="l01165"></a>01165 <a name="l01178"></a>01178 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &useAnchoringBounds(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> b); <a name="l01179"></a>01179 <a name="l01180"></a>01180 <a name="l01193"></a>01193 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> hitEnd() <span class="keyword">const</span>; <a name="l01194"></a>01194 <a name="l01204"></a>01204 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> requireEnd() <span class="keyword">const</span>; <a name="l01205"></a>01205 <a name="l01206"></a>01206 <a name="l01212"></a>01212 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> &pattern() <span class="keyword">const</span>; <a name="l01213"></a>01213 <a name="l01214"></a>01214 <a name="l01231"></a>01231 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> replaceAll(<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> &replacement, <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> &status); <a name="l01232"></a>01232 <a name="l01233"></a>01233 <a name="l01254"></a>01254 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *replaceAll(<a class="code" href="structUText.html" title="UText struct.">UText</a> *replacement, <a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <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> &status); <a name="l01255"></a>01255 <a name="l01256"></a>01256 <a name="l01277"></a>01277 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> replaceFirst(<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> &replacement, <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> &status); <a name="l01278"></a>01278 <a name="l01279"></a>01279 <a name="l01304"></a>01304 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *replaceFirst(<a class="code" href="structUText.html" title="UText struct.">UText</a> *replacement, <a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <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> &status); <a name="l01305"></a>01305 <a name="l01306"></a>01306 <a name="l01334"></a>01334 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &appendReplacement(<a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &dest, <a name="l01335"></a>01335 <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> &replacement, <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> &status); <a name="l01336"></a>01336 <a name="l01337"></a>01337 <a name="l01365"></a>01365 <span class="keyword">virtual</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &appendReplacement(<a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <a name="l01366"></a>01366 <a class="code" href="structUText.html" title="UText struct.">UText</a> *replacement, <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> &status); <a name="l01367"></a>01367 <a name="l01368"></a>01368 <a name="l01379"></a>01379 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &appendTail(<a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &dest); <a name="l01380"></a>01380 <a name="l01381"></a>01381 <a name="l01394"></a>01394 <span class="keyword">virtual</span> <a class="code" href="structUText.html" title="UText struct.">UText</a> *appendTail(<a class="code" href="structUText.html" title="UText struct.">UText</a> *dest); <a name="l01395"></a>01395 <a name="l01396"></a>01396 <a name="l01420"></a>01420 <span class="keyword">virtual</span> int32_t split(<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> &input, <a name="l01421"></a>01421 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> dest[], <a name="l01422"></a>01422 int32_t destCapacity, <a name="l01423"></a>01423 <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> &status); <a name="l01424"></a>01424 <a name="l01425"></a>01425 <a name="l01449"></a>01449 <span class="keyword">virtual</span> int32_t split(<a class="code" href="structUText.html" title="UText struct.">UText</a> *input, <a name="l01450"></a>01450 <a class="code" href="structUText.html" title="UText struct.">UText</a> *dest[], <a name="l01451"></a>01451 int32_t destCapacity, <a name="l01452"></a>01452 <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> &status); <a name="l01453"></a>01453 <a name="l01475"></a>01475 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setTimeLimit(int32_t limit, <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> &status); <a name="l01476"></a>01476 <a name="l01483"></a>01483 <span class="keyword">virtual</span> int32_t getTimeLimit() <span class="keyword">const</span>; <a name="l01484"></a>01484 <a name="l01506"></a>01506 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStackLimit(int32_t limit, <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> &status); <a name="l01507"></a>01507 <a name="l01515"></a>01515 <span class="keyword">virtual</span> int32_t getStackLimit() <span class="keyword">const</span>; <a name="l01516"></a>01516 <a name="l01517"></a>01517 <a name="l01531"></a>01531 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setMatchCallback(<a class="code" href="uregex_8h.html#a0a86299b51ab447fdefa00f6763b44bb" title="Function pointer for a regular expression matching callback function.">URegexMatchCallback</a> *callback, <a name="l01532"></a>01532 <span class="keyword">const</span> <span class="keywordtype">void</span> *context, <a name="l01533"></a>01533 <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> &status); <a name="l01534"></a>01534 <a name="l01535"></a>01535 <a name="l01546"></a>01546 <span class="keyword">virtual</span> <span class="keywordtype">void</span> getMatchCallback(<a class="code" href="uregex_8h.html#a0a86299b51ab447fdefa00f6763b44bb" title="Function pointer for a regular expression matching callback function.">URegexMatchCallback</a> *&callback, <a name="l01547"></a>01547 <span class="keyword">const</span> <span class="keywordtype">void</span> *&context, <a name="l01548"></a>01548 <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> &status); <a name="l01549"></a>01549 <a name="l01550"></a>01550 <a name="l01556"></a>01556 <span class="keywordtype">void</span> setTrace(<a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> state); <a name="l01557"></a>01557 <a name="l01558"></a>01558 <a name="l01564"></a>01564 <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(); <a name="l01565"></a>01565 <a name="l01571"></a>01571 <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="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262" title="ICU4C &quot;poor man&#39;s RTTI&quot;, returns a UClassID for the actual ICU class...">getDynamicClassID</a>() <span class="keyword">const</span>; <a name="l01572"></a>01572 <a name="l01573"></a>01573 <span class="keyword">private</span>: <a name="l01574"></a>01574 <span class="comment">// Constructors and other object boilerplate are private.</span> <a name="l01575"></a>01575 <span class="comment">// Instances of RegexMatcher can not be assigned, copied, cloned, etc.</span> <a name="l01576"></a>01576 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>(); <span class="comment">// default constructor not implemented</span> <a name="l01577"></a>01577 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>(<span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> *pat); <a name="l01578"></a>01578 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a>(<span class="keyword">const</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &other); <a name="l01579"></a>01579 <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &operator =(<span class="keyword">const</span> <a class="code" href="classRegexMatcher.html" title="class RegexMatcher bundles together a reular expression pattern and input text to...">RegexMatcher</a> &rhs); <a name="l01580"></a>01580 <span class="keywordtype">void</span> init(<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> &status); <span class="comment">// Common initialization</span> <a name="l01581"></a>01581 <span class="keywordtype">void</span> init2(<a class="code" href="structUText.html" title="UText struct.">UText</a> *t, <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> &e); <span class="comment">// Common initialization, part 2.</span> <a name="l01582"></a>01582 <a name="l01583"></a>01583 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a>; <a name="l01584"></a>01584 <span class="keyword">friend</span> <span class="keyword">class </span>RegexCImpl; <a name="l01585"></a>01585 <span class="keyword">public</span>: <a name="l01587"></a>01587 <span class="keywordtype">void</span> resetPreserveRegion(); <span class="comment">// Reset matcher state, but preserve any region.</span> <a name="l01588"></a>01588 <span class="keyword">private</span>: <a name="l01589"></a>01589 <a name="l01590"></a>01590 <span class="comment">//</span> <a name="l01591"></a>01591 <span class="comment">// MatchAt This is the internal interface to the match engine itself.</span> <a name="l01592"></a>01592 <span class="comment">// Match status comes back in matcher member variables.</span> <a name="l01593"></a>01593 <span class="comment">//</span> <a name="l01594"></a>01594 <span class="keywordtype">void</span> MatchAt(int64_t startIdx, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> toEnd, <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> &status); <a name="l01595"></a>01595 <span class="keyword">inline</span> <span class="keywordtype">void</span> backTrack(int64_t &inputIdx, int32_t &patIdx); <a name="l01596"></a>01596 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isWordBoundary(int64_t pos); <span class="comment">// perform Perl-like \b test</span> <a name="l01597"></a>01597 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isUWordBoundary(int64_t pos); <span class="comment">// perform RBBI based \b test</span> <a name="l01598"></a>01598 REStackFrame *resetStack(); <a name="l01599"></a>01599 <span class="keyword">inline</span> REStackFrame *StateSave(REStackFrame *fp, int64_t savePatIdx, <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> &status); <a name="l01600"></a>01600 <span class="keywordtype">void</span> IncrementTime(<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> &status); <a name="l01601"></a>01601 <a name="l01602"></a>01602 int64_t appendGroup(int32_t groupNum, <a class="code" href="structUText.html" title="UText struct.">UText</a> *dest, <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> &status) <span class="keyword">const</span>; <a name="l01603"></a>01603 <a name="l01604"></a>01604 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> findUsingChunk(); <a name="l01605"></a>01605 <span class="keywordtype">void</span> MatchChunkAt(int32_t startIdx, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> toEnd, <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> &status); <a name="l01606"></a>01606 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> isChunkWordBoundary(int32_t pos); <a name="l01607"></a>01607 <a name="l01608"></a>01608 <span class="keyword">const</span> <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> *fPattern; <a name="l01609"></a>01609 <a class="code" href="classRegexPattern.html" title="Class RegexPattern represents a compiled regular expression.">RegexPattern</a> *fPatternOwned; <span class="comment">// Non-NULL if this matcher owns the pattern, and</span> <a name="l01610"></a>01610 <span class="comment">// should delete it when through.</span> <a name="l01611"></a>01611 <a name="l01612"></a>01612 <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> *fInput; <span class="comment">// The string being matched. Only used for input()</span> <a name="l01613"></a>01613 <a class="code" href="structUText.html" title="UText struct.">UText</a> *fInputText; <span class="comment">// The text being matched. Is never NULL.</span> <a name="l01614"></a>01614 <a class="code" href="structUText.html" title="UText struct.">UText</a> *fAltInputText; <span class="comment">// A shallow copy of the text being matched.</span> <a name="l01615"></a>01615 <span class="comment">// Only created if the pattern contains backreferences.</span> <a name="l01616"></a>01616 int64_t fInputLength; <span class="comment">// Full length of the input text.</span> <a name="l01617"></a>01617 int32_t fFrameSize; <span class="comment">// The size of a frame in the backtrack stack.</span> <a name="l01618"></a>01618 <a name="l01619"></a>01619 int64_t fRegionStart; <span class="comment">// Start of the input region, default = 0.</span> <a name="l01620"></a>01620 int64_t fRegionLimit; <span class="comment">// End of input region, default to input.length.</span> <a name="l01621"></a>01621 <a name="l01622"></a>01622 int64_t fAnchorStart; <span class="comment">// Region bounds for anchoring operations (^ or $).</span> <a name="l01623"></a>01623 int64_t fAnchorLimit; <span class="comment">// See useAnchoringBounds</span> <a name="l01624"></a>01624 <a name="l01625"></a>01625 int64_t fLookStart; <span class="comment">// Region bounds for look-ahead/behind and</span> <a name="l01626"></a>01626 int64_t fLookLimit; <span class="comment">// and other boundary tests. See</span> <a name="l01627"></a>01627 <span class="comment">// useTransparentBounds</span> <a name="l01628"></a>01628 <a name="l01629"></a>01629 int64_t fActiveStart; <span class="comment">// Currently active bounds for matching.</span> <a name="l01630"></a>01630 int64_t fActiveLimit; <span class="comment">// Usually is the same as region, but</span> <a name="l01631"></a>01631 <span class="comment">// is changed to fLookStart/Limit when</span> <a name="l01632"></a>01632 <span class="comment">// entering look around regions.</span> <a name="l01633"></a>01633 <a name="l01634"></a>01634 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fTransparentBounds; <span class="comment">// True if using transparent bounds.</span> <a name="l01635"></a>01635 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fAnchoringBounds; <span class="comment">// True if using anchoring bounds.</span> <a name="l01636"></a>01636 <a name="l01637"></a>01637 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fMatch; <span class="comment">// True if the last attempted match was successful.</span> <a name="l01638"></a>01638 int64_t fMatchStart; <span class="comment">// Position of the start of the most recent match</span> <a name="l01639"></a>01639 int64_t fMatchEnd; <span class="comment">// First position after the end of the most recent match</span> <a name="l01640"></a>01640 <span class="comment">// Zero if no previous match, even when a region</span> <a name="l01641"></a>01641 <span class="comment">// is active.</span> <a name="l01642"></a>01642 int64_t fLastMatchEnd; <span class="comment">// First position after the end of the previous match,</span> <a name="l01643"></a>01643 <span class="comment">// or -1 if there was no previous match.</span> <a name="l01644"></a>01644 int64_t fAppendPosition; <span class="comment">// First position after the end of the previous</span> <a name="l01645"></a>01645 <span class="comment">// appendReplacement(). As described by the</span> <a name="l01646"></a>01646 <span class="comment">// JavaDoc for Java Matcher, where it is called </span> <a name="l01647"></a>01647 <span class="comment">// "append position"</span> <a name="l01648"></a>01648 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fHitEnd; <span class="comment">// True if the last match touched the end of input.</span> <a name="l01649"></a>01649 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fRequireEnd; <span class="comment">// True if the last match required end-of-input</span> <a name="l01650"></a>01650 <span class="comment">// (matched $ or Z)</span> <a name="l01651"></a>01651 <a name="l01652"></a>01652 UVector64 *fStack; <a name="l01653"></a>01653 REStackFrame *fFrame; <span class="comment">// After finding a match, the last active stack frame,</span> <a name="l01654"></a>01654 <span class="comment">// which will contain the capture group results.</span> <a name="l01655"></a>01655 <span class="comment">// NOT valid while match engine is running.</span> <a name="l01656"></a>01656 <a name="l01657"></a>01657 int64_t *fData; <span class="comment">// Data area for use by the compiled pattern.</span> <a name="l01658"></a>01658 int64_t fSmallData[8]; <span class="comment">// Use this for data if it's enough.</span> <a name="l01659"></a>01659 <a name="l01660"></a>01660 int32_t fTimeLimit; <span class="comment">// Max time (in arbitrary steps) to let the</span> <a name="l01661"></a>01661 <span class="comment">// match engine run. Zero for unlimited.</span> <a name="l01662"></a>01662 <a name="l01663"></a>01663 int32_t fTime; <span class="comment">// Match time, accumulates while matching.</span> <a name="l01664"></a>01664 int32_t fTickCounter; <span class="comment">// Low bits counter for time. Counts down StateSaves.</span> <a name="l01665"></a>01665 <span class="comment">// Kept separately from fTime to keep as much</span> <a name="l01666"></a>01666 <span class="comment">// code as possible out of the inline</span> <a name="l01667"></a>01667 <span class="comment">// StateSave function.</span> <a name="l01668"></a>01668 <a name="l01669"></a>01669 int32_t fStackLimit; <span class="comment">// Maximum memory size to use for the backtrack</span> <a name="l01670"></a>01670 <span class="comment">// stack, in bytes. Zero for unlimited.</span> <a name="l01671"></a>01671 <a name="l01672"></a>01672 <a class="code" href="uregex_8h.html#a0a86299b51ab447fdefa00f6763b44bb" title="Function pointer for a regular expression matching callback function.">URegexMatchCallback</a> *fCallbackFn; <span class="comment">// Pointer to match progress callback funct.</span> <a name="l01673"></a>01673 <span class="comment">// NULL if there is no callback.</span> <a name="l01674"></a>01674 <span class="keyword">const</span> <span class="keywordtype">void</span> *fCallbackContext; <span class="comment">// User Context ptr for callback function.</span> <a name="l01675"></a>01675 <a name="l01676"></a>01676 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fInputUniStrMaybeMutable; <span class="comment">// Set when fInputText wraps a UnicodeString that may be mutable - compatibility.</span> <a name="l01677"></a>01677 <a name="l01678"></a>01678 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> fTraceDebug; <span class="comment">// Set true for debug tracing of match engine.</span> <a name="l01679"></a>01679 <a name="l01680"></a>01680 <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> fDeferredStatus; <span class="comment">// Save error state that cannot be immediately</span> <a name="l01681"></a>01681 <span class="comment">// reported, or that permanently disables this matcher.</span> <a name="l01682"></a>01682 <a name="l01683"></a>01683 <a class="code" href="classRuleBasedBreakIterator.html" title="A subclass of BreakIterator whose behavior is specified using a list of rules.">RuleBasedBreakIterator</a> *fWordBreakItr; <a name="l01684"></a>01684 <a name="l01685"></a>01685 <a name="l01686"></a>01686 }; <a name="l01687"></a>01687 <a name="l01688"></a>01688 <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="l01689"></a>01689 <span class="preprocessor">#endif // UCONFIG_NO_REGULAR_EXPRESSIONS</span> <a name="l01690"></a>01690 <span class="preprocessor"></span><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"> </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>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 class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>