<!-- 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: normlzr.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>normlzr.h</h1><a href="normlzr_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:</span> <a name="l00004"></a>00004 <span class="comment"> * Copyright (c) 1996-2010, International Business Machines Corporation and</span> <a name="l00005"></a>00005 <span class="comment"> * others. All Rights Reserved.</span> <a name="l00006"></a>00006 <span class="comment"> ********************************************************************</span> <a name="l00007"></a>00007 <span class="comment"> */</span> <a name="l00008"></a>00008 <a name="l00009"></a>00009 <span class="preprocessor">#ifndef NORMLZR_H</span> <a name="l00010"></a>00010 <span class="preprocessor"></span><span class="preprocessor">#define NORMLZR_H</span> <a name="l00011"></a>00011 <span class="preprocessor"></span> <a name="l00012"></a>00012 <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="l00013"></a>00013 <a name="l00019"></a>00019 <span class="preprocessor">#if !UCONFIG_NO_NORMALIZATION</span> <a name="l00020"></a>00020 <span class="preprocessor"></span> <a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="code" href="chariter_8h.html" title="C++ API: Character Iterator.">unicode/chariter.h</a>"</span> <a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="code" href="normalizer2_8h.html" title="C++ API: New API for Unicode Normalization.">unicode/normalizer2.h</a>"</span> <a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="unistr_8h.html" title="C++ API: Unicode String.">unicode/unistr.h</a>"</span> <a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="unorm_8h.html" title="C API: Unicode Normalization.">unicode/unorm.h</a>"</span> <a name="l00025"></a>00025 <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="l00026"></a>00026 <a name="l00027"></a>00027 <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="l00130"></a><a class="code" href="classNormalizer.html">00130</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="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</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="l00131"></a>00131 <span class="keyword">public</span>: <a name="l00137"></a>00137 <span class="keyword">enum</span> { <a name="l00138"></a>00138 DONE=0xffff <a name="l00139"></a>00139 }; <a name="l00140"></a>00140 <a name="l00141"></a>00141 <span class="comment">// Constructors</span> <a name="l00142"></a>00142 <a name="l00153"></a>00153 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</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>& str, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode); <a name="l00154"></a>00154 <a name="l00166"></a>00166 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>(<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>* str, int32_t length, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode); <a name="l00167"></a>00167 <a name="l00178"></a>00178 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>(<span class="keyword">const</span> <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>& iter, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode); <a name="l00179"></a>00179 <a name="l00185"></a>00185 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>(<span class="keyword">const</span> <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>& copy); <a name="l00186"></a>00186 <a name="l00191"></a>00191 <span class="keyword">virtual</span> ~<a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>(); <a name="l00192"></a>00192 <a name="l00193"></a>00193 <a name="l00194"></a>00194 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00195"></a>00195 <span class="comment">// Static utility methods</span> <a name="l00196"></a>00196 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00197"></a>00197 <a name="l00212"></a>00212 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> normalize(<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>& source, <a name="l00213"></a>00213 <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, int32_t options, <a name="l00214"></a>00214 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>& result, <a name="l00215"></a>00215 <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="l00216"></a>00216 <a name="l00234"></a>00234 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> compose(<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>& source, <a name="l00235"></a>00235 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> compat, int32_t options, <a name="l00236"></a>00236 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>& result, <a name="l00237"></a>00237 <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="l00238"></a>00238 <a name="l00256"></a>00256 <span class="keyword">static</span> <span class="keywordtype">void</span> <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> decompose(<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>& source, <a name="l00257"></a>00257 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> compat, int32_t options, <a name="l00258"></a>00258 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>& result, <a name="l00259"></a>00259 <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="l00260"></a>00260 <a name="l00281"></a>00281 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece" title="Result values for normalization quick check functions.">UNormalizationCheckResult</a> <a name="l00282"></a>00282 quickCheck(<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> &source, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, <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="l00297"></a>00297 <span class="keyword">static</span> <a class="code" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece" title="Result values for normalization quick check functions.">UNormalizationCheckResult</a> <a name="l00298"></a>00298 quickCheck(<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> &source, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, int32_t options, <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="l00299"></a>00299 <a name="l00320"></a>00320 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a name="l00321"></a>00321 isNormalized(<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> &src, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, <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> &errorCode); <a name="l00322"></a>00322 <a name="l00338"></a>00338 <span class="keyword">static</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a name="l00339"></a>00339 isNormalized(<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> &src, <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, int32_t options, <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> &errorCode); <a name="l00340"></a>00340 <a name="l00370"></a>00370 <span class="keyword">static</span> <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> & <a name="l00371"></a>00371 <a class="code" href="platform_8h.html#a72bf6d8ec0640a37b1915e5d853b2016">U_EXPORT2</a> concatenate(<a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &left, <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &right, <a name="l00372"></a>00372 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> &result, <a name="l00373"></a>00373 <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, int32_t options, <a name="l00374"></a>00374 <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> &errorCode); <a name="l00375"></a>00375 <a name="l00440"></a>00440 <span class="keyword">static</span> <span class="keyword">inline</span> int32_t <a name="l00441"></a>00441 compare(<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> &s1, <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> &s2, <a name="l00442"></a>00442 uint32_t options, <a name="l00443"></a>00443 <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> &errorCode); <a name="l00444"></a>00444 <a name="l00445"></a>00445 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00446"></a>00446 <span class="comment">// Iteration API</span> <a name="l00447"></a>00447 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00448"></a>00448 <a name="l00457"></a>00457 <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> current(<span class="keywordtype">void</span>); <a name="l00458"></a>00458 <a name="l00467"></a>00467 <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> first(<span class="keywordtype">void</span>); <a name="l00468"></a>00468 <a name="l00477"></a>00477 <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> last(<span class="keywordtype">void</span>); <a name="l00478"></a>00478 <a name="l00493"></a>00493 <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> next(<span class="keywordtype">void</span>); <a name="l00494"></a>00494 <a name="l00509"></a>00509 <a class="code" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809" title="Define UChar32 as a type for single Unicode code points.">UChar32</a> previous(<span class="keywordtype">void</span>); <a name="l00510"></a>00510 <a name="l00520"></a>00520 <span class="keywordtype">void</span> setIndexOnly(int32_t index); <a name="l00521"></a>00521 <a name="l00527"></a>00527 <span class="keywordtype">void</span> reset(<span class="keywordtype">void</span>); <a name="l00528"></a>00528 <a name="l00543"></a>00543 int32_t getIndex(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00544"></a>00544 <a name="l00553"></a>00553 int32_t startIndex(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00554"></a>00554 <a name="l00565"></a>00565 int32_t endIndex(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00566"></a>00566 <a name="l00575"></a>00575 <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="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>& that) <span class="keyword">const</span>; <a name="l00576"></a>00576 <a name="l00585"></a>00585 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a class="code" href="stringpiece_8h.html#abf0ccab9536bab551afc07de65eb5d95" title="Global operator != for StringPiece.">operator!=</a>(<span class="keyword">const</span> <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>& that) <span class="keyword">const</span>; <a name="l00586"></a>00586 <a name="l00593"></a>00593 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>* clone(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00594"></a>00594 <a name="l00601"></a>00601 int32_t hashCode(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00602"></a>00602 <a name="l00603"></a>00603 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00604"></a>00604 <span class="comment">// Property access methods</span> <a name="l00605"></a>00605 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00606"></a>00606 <a name="l00622"></a>00622 <span class="keywordtype">void</span> setMode(<a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> newMode); <a name="l00623"></a>00623 <a name="l00634"></a>00634 <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> getUMode(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00635"></a>00635 <a name="l00652"></a>00652 <span class="keywordtype">void</span> setOption(int32_t option, <a name="l00653"></a>00653 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> value); <a name="l00654"></a>00654 <a name="l00665"></a>00665 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> getOption(int32_t option) <span class="keyword">const</span>; <a name="l00666"></a>00666 <a name="l00675"></a>00675 <span class="keywordtype">void</span> setText(<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>& newText, <a name="l00676"></a>00676 <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="l00677"></a>00677 <a name="l00686"></a>00686 <span class="keywordtype">void</span> setText(<span class="keyword">const</span> <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a>& newText, <a name="l00687"></a>00687 <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="l00688"></a>00688 <a name="l00698"></a>00698 <span class="keywordtype">void</span> setText(<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>* newText, <a name="l00699"></a>00699 int32_t length, <a name="l00700"></a>00700 <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 <span class="keywordtype">void</span> getText(<a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a>& result); <a name="l00708"></a>00708 <a name="l00714"></a>00714 <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="l00715"></a>00715 <a name="l00721"></a>00721 <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="l00722"></a>00722 <a name="l00723"></a>00723 <span class="keyword">private</span>: <a name="l00724"></a>00724 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00725"></a>00725 <span class="comment">// Private functions</span> <a name="l00726"></a>00726 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00727"></a>00727 <a name="l00728"></a>00728 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>(); <span class="comment">// default constructor not implemented</span> <a name="l00729"></a>00729 <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a> &operator=(<span class="keyword">const</span> <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a> &that); <span class="comment">// assignment operator not implemented</span> <a name="l00730"></a>00730 <a name="l00731"></a>00731 <span class="comment">// Private utility methods for iteration</span> <a name="l00732"></a>00732 <span class="comment">// For documentation, see the source code</span> <a name="l00733"></a>00733 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> nextNormalize(); <a name="l00734"></a>00734 <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> previousNormalize(); <a name="l00735"></a>00735 <a name="l00736"></a>00736 <span class="keywordtype">void</span> init(); <a name="l00737"></a>00737 <span class="keywordtype">void</span> clearBuffer(<span class="keywordtype">void</span>); <a name="l00738"></a>00738 <a name="l00739"></a>00739 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00740"></a>00740 <span class="comment">// Private data</span> <a name="l00741"></a>00741 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00742"></a>00742 <a name="l00743"></a>00743 <a class="code" href="classFilteredNormalizer2.html" title="Normalization filtered by a UnicodeSet.">FilteredNormalizer2</a>*fFilteredNorm2; <span class="comment">// owned if not NULL</span> <a name="l00744"></a>00744 <span class="keyword">const</span> <a class="code" href="classNormalizer2.html" title="Unicode normalization functionality for standard Unicode normalization or for using...">Normalizer2</a> *fNorm2; <span class="comment">// not owned; may be equal to fFilteredNorm2</span> <a name="l00745"></a>00745 <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> fUMode; <a name="l00746"></a>00746 int32_t fOptions; <a name="l00747"></a>00747 <a name="l00748"></a>00748 <span class="comment">// The input text and our position in it</span> <a name="l00749"></a>00749 <a class="code" href="classCharacterIterator.html" title="Abstract class that defines an API for iteration on text objects.">CharacterIterator</a> *text; <a name="l00750"></a>00750 <a name="l00751"></a>00751 <span class="comment">// The normalization buffer is the result of normalization</span> <a name="l00752"></a>00752 <span class="comment">// of the source in [currentIndex..nextIndex[ .</span> <a name="l00753"></a>00753 int32_t currentIndex, nextIndex; <a name="l00754"></a>00754 <a name="l00755"></a>00755 <span class="comment">// A buffer for holding intermediate results</span> <a name="l00756"></a>00756 <a class="code" href="classUnicodeString.html" title="UnicodeString is a string class that stores Unicode characters directly and provides...">UnicodeString</a> buffer; <a name="l00757"></a>00757 int32_t bufferPos; <a name="l00758"></a>00758 }; <a name="l00759"></a>00759 <a name="l00760"></a>00760 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00761"></a>00761 <span class="comment">// Inline implementations</span> <a name="l00762"></a>00762 <span class="comment">//-------------------------------------------------------------------------</span> <a name="l00763"></a>00763 <a name="l00764"></a>00764 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a name="l00765"></a><a class="code" href="classNormalizer.html#a0c8c7519c75c5815c43634da7e1428cf">00765</a> <a class="code" href="classNormalizer.html#a0c8c7519c75c5815c43634da7e1428cf" title="Returns FALSE when both iterators refer to the same character in the same input text...">Normalizer::operator!= </a>(<span class="keyword">const</span> <a class="code" href="classNormalizer.html" title="The Normalizer class supports the standard normalization forms described in Unicode...">Normalizer</a>& other)<span class="keyword"> const</span> <a name="l00766"></a>00766 <span class="keyword"></span>{ <span class="keywordflow">return</span> ! <a class="code" href="classNormalizer.html#a289ed61d6dcea6992bf066516b04b757" title="Returns TRUE when both iterators refer to the same character in the same input text...">operator==</a>(other); } <a name="l00767"></a>00767 <a name="l00768"></a>00768 <span class="keyword">inline</span> <a class="code" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece" title="Result values for normalization quick check functions.">UNormalizationCheckResult</a> <a name="l00769"></a><a class="code" href="classNormalizer.html#a115443fa15231058506585d937d392bd">00769</a> <a class="code" href="classNormalizer.html#a115443fa15231058506585d937d392bd" title="Performing quick check on a string, to quickly determine if the string is in a particular...">Normalizer::quickCheck</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>& source, <a name="l00770"></a>00770 <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, <a name="l00771"></a>00771 <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="l00772"></a>00772 <span class="keywordflow">return</span> <a class="code" href="classNormalizer.html#a115443fa15231058506585d937d392bd" title="Performing quick check on a string, to quickly determine if the string is in a particular...">quickCheck</a>(source, mode, 0, status); <a name="l00773"></a>00773 } <a name="l00774"></a>00774 <a name="l00775"></a>00775 <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5" title="The ICU boolean type.">UBool</a> <a name="l00776"></a><a class="code" href="classNormalizer.html#a63e55029e76459caff76fab6b44f0941">00776</a> <a class="code" href="classNormalizer.html#a63e55029e76459caff76fab6b44f0941" title="Test if a string is in a given normalization form.">Normalizer::isNormalized</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>& source, <a name="l00777"></a>00777 <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7" title="Constants for normalization modes.">UNormalizationMode</a> mode, <a name="l00778"></a>00778 <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 <span class="keywordflow">return</span> <a class="code" href="classNormalizer.html#a63e55029e76459caff76fab6b44f0941" title="Test if a string is in a given normalization form.">isNormalized</a>(source, mode, 0, status); <a name="l00780"></a>00780 } <a name="l00781"></a>00781 <a name="l00782"></a>00782 <span class="keyword">inline</span> int32_t <a name="l00783"></a><a class="code" href="classNormalizer.html#ac6f0a455515325bb67eb8139453690ae">00783</a> <a class="code" href="classNormalizer.html#ac6f0a455515325bb67eb8139453690ae" title="Compare two strings for canonical equivalence.">Normalizer::compare</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> &s1, <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> &s2, <a name="l00784"></a>00784 uint32_t options, <a name="l00785"></a>00785 <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> &errorCode) { <a name="l00786"></a>00786 <span class="comment">// all argument checking is done in unorm_compare</span> <a name="l00787"></a>00787 <span class="keywordflow">return</span> <a class="code" href="unorm_8h.html#a991e0fe6f0d062dd6e8e924517f3f437" title="Compare two strings for canonical equivalence.">unorm_compare</a>(s1.<a class="code" href="classUnicodeString.html#ab60ed4d07f726d3cceb3964c6556a34b" title="Get a read/write pointer to the internal buffer.">getBuffer</a>(), s1.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), <a name="l00788"></a>00788 s2.<a class="code" href="classUnicodeString.html#ab60ed4d07f726d3cceb3964c6556a34b" title="Get a read/write pointer to the internal buffer.">getBuffer</a>(), s2.<a class="code" href="classUnicodeString.html#ac4cf80391a0e523c27aacaba796aede6" title="Return the length of the UnicodeString object.">length</a>(), <a name="l00789"></a>00789 options, <a name="l00790"></a>00790 &errorCode); <a name="l00791"></a>00791 } <a name="l00792"></a>00792 <a name="l00793"></a>00793 <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="l00794"></a>00794 <a name="l00795"></a>00795 <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_NORMALIZATION */</span> <a name="l00796"></a>00796 <a name="l00797"></a>00797 <span class="preprocessor">#endif // NORMLZR_H</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>