<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ICU 3.6: coll.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </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>coll.h</h1><a href="coll_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) 1996-2006, 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">*/</span> <a name="l00007"></a>00007 <a name="l00044"></a>00044 <span class="preprocessor">#ifndef COLL_H</span> <a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define COLL_H</span> <a name="l00046"></a>00046 <span class="preprocessor"></span> <a name="l00047"></a>00047 <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span> <a name="l00048"></a>00048 <a name="l00054"></a>00054 <span class="preprocessor">#if !UCONFIG_NO_COLLATION</span> <a name="l00055"></a>00055 <span class="preprocessor"></span> <a name="l00056"></a>00056 <span class="preprocessor">#include "<a class="code" href="uobject_8h.html">unicode/uobject.h</a>"</span> <a name="l00057"></a>00057 <span class="preprocessor">#include "<a class="code" href="ucol_8h.html">unicode/ucol.h</a>"</span> <a name="l00058"></a>00058 <span class="preprocessor">#include "<a class="code" href="normlzr_8h.html">unicode/normlzr.h</a>"</span> <a name="l00059"></a>00059 <span class="preprocessor">#include "<a class="code" href="locid_8h.html">unicode/locid.h</a>"</span> <a name="l00060"></a>00060 <span class="preprocessor">#include "<a class="code" href="uniset_8h.html">unicode/uniset.h</a>"</span> <a name="l00061"></a>00061 <span class="preprocessor">#include "<a class="code" href="umisc_8h.html">unicode/umisc.h</a>"</span> <a name="l00062"></a>00062 <a name="l00063"></a>00063 <a class="code" href="umachine_8h.html#ec4a51c37f4e3f3d7e5c42e6e3eafa63">U_NAMESPACE_BEGIN</a> <a name="l00064"></a>00064 <a name="l00065"></a>00065 <span class="keyword">class </span><a class="code" href="classStringEnumeration.html">StringEnumeration</a>; <a name="l00066"></a>00066 <a name="l00067"></a>00067 <span class="preprocessor">#if !UCONFIG_NO_SERVICE</span> <a name="l00068"></a>00068 <span class="preprocessor"></span> <a name="l00071"></a>00071 <span class="keyword">class </span><a class="code" href="classCollatorFactory.html">CollatorFactory</a>; <a name="l00072"></a>00072 <span class="preprocessor">#endif</span> <a name="l00073"></a>00073 <span class="preprocessor"></span> <a name="l00077"></a>00077 <span class="keyword">class </span><a class="code" href="classCollationKey.html">CollationKey</a>; <a name="l00078"></a>00078 <a name="l00175"></a><a class="code" href="classCollator.html">00175</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#3a1f02ad21823a0b4e4f69d4b82dee4b">U_I18N_API</a> <a class="code" href="classCollator.html">Collator</a> : <span class="keyword">public</span> <a class="code" href="classUObject.html">UObject</a> { <a name="l00176"></a>00176 <span class="keyword">public</span>: <a name="l00177"></a>00177 <a name="l00178"></a>00178 <span class="comment">// Collator public enums -----------------------------------------------</span> <a name="l00179"></a>00179 <a name="l00205"></a><a class="code" href="classCollator.html#39f2c6d1a7dac819d6b7f1d61d5b8977">00205</a> <span class="keyword">enum</span> <a class="code" href="classCollator.html#39f2c6d1a7dac819d6b7f1d61d5b8977">ECollationStrength</a> <a name="l00206"></a>00206 { <a name="l00207"></a>00207 PRIMARY = 0, <a name="l00208"></a>00208 SECONDARY = 1, <a name="l00209"></a>00209 TERTIARY = 2, <a name="l00210"></a>00210 QUATERNARY = 3, <a name="l00211"></a>00211 IDENTICAL = 15 <a name="l00212"></a>00212 }; <a name="l00213"></a>00213 <a name="l00224"></a><a class="code" href="classCollator.html#c5f0318553dedd9eafd6d74c38978fec">00224</a> <span class="keyword">enum</span> <a class="code" href="classCollator.html#c5f0318553dedd9eafd6d74c38978fec">EComparisonResult</a> <a name="l00225"></a>00225 { <a name="l00226"></a>00226 LESS = -1, <a name="l00227"></a>00227 EQUAL = 0, <a name="l00228"></a>00228 GREATER = 1 <a name="l00229"></a>00229 }; <a name="l00230"></a>00230 <a name="l00231"></a>00231 <span class="comment">// Collator public destructor -----------------------------------------</span> <a name="l00232"></a>00232 <a name="l00237"></a>00237 <span class="keyword">virtual</span> ~<a class="code" href="classCollator.html">Collator</a>(); <a name="l00238"></a>00238 <a name="l00239"></a>00239 <span class="comment">// Collator public methods --------------------------------------------</span> <a name="l00240"></a>00240 <a name="l00247"></a>00247 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> operator==(<span class="keyword">const</span> <a class="code" href="classCollator.html">Collator</a>& other) <span class="keyword">const</span>; <a name="l00248"></a>00248 <a name="l00255"></a>00255 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> operator!=(<span class="keyword">const</span> <a class="code" href="classCollator.html">Collator</a>& other) <span class="keyword">const</span>; <a name="l00256"></a>00256 <a name="l00262"></a>00262 <span class="keyword">virtual</span> <a class="code" href="classCollator.html">Collator</a>* clone(<span class="keywordtype">void</span>) <span class="keyword">const </span>= 0; <a name="l00263"></a>00263 <a name="l00283"></a>00283 <span class="keyword">static</span> <a class="code" href="classCollator.html">Collator</a>* <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> createInstance(<a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& err); <a name="l00284"></a>00284 <a name="l00308"></a>00308 <span class="keyword">static</span> <a class="code" href="classCollator.html">Collator</a>* <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> createInstance(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& loc, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& err); <a name="l00309"></a>00309 <a name="l00310"></a>00310 <span class="preprocessor">#ifdef U_USE_COLLATION_OBSOLETE_2_6</span> <a name="l00311"></a>00311 <span class="preprocessor"></span> <a name="l00334"></a>00334 <span class="keyword">static</span> <a class="code" href="classCollator.html">Collator</a> *createInstance(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a> &loc, <a class="code" href="uversion_8h.html#29ab969371cc8e67500fd2eeb6e9da24">UVersionInfo</a> version, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &err); <a name="l00335"></a>00335 <span class="preprocessor">#endif</span> <a name="l00336"></a>00336 <span class="preprocessor"></span> <a name="l00348"></a>00348 <span class="keyword">virtual</span> EComparisonResult compare(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00349"></a>00349 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target) <span class="keyword">const</span>; <a name="l00350"></a>00350 <a name="l00363"></a>00363 <span class="keyword">virtual</span> <a class="code" href="ucol_8h.html#77c059e24c6f4adbb974b58c04eebd05">UCollationResult</a> compare(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00364"></a>00364 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target, <a name="l00365"></a>00365 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) <span class="keyword">const </span>= 0; <a name="l00366"></a>00366 <a name="l00379"></a>00379 <span class="keyword">virtual</span> EComparisonResult compare(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00380"></a>00380 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target, <a name="l00381"></a>00381 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="ucnv_8h.html#c14f4e493302a219114039668cd5c7d1">length</a>) <span class="keyword">const</span>; <a name="l00382"></a>00382 <a name="l00396"></a>00396 <span class="keyword">virtual</span> <a class="code" href="ucol_8h.html#77c059e24c6f4adbb974b58c04eebd05">UCollationResult</a> compare(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00397"></a>00397 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target, <a name="l00398"></a>00398 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="ucnv_8h.html#c14f4e493302a219114039668cd5c7d1">length</a>, <a name="l00399"></a>00399 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) <span class="keyword">const </span>= 0; <a name="l00400"></a>00400 <a name="l00416"></a>00416 <span class="keyword">virtual</span> EComparisonResult compare(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a>* source, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> sourceLength, <a name="l00417"></a>00417 <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a>* target, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> targetLength) <a name="l00418"></a>00418 <span class="keyword">const</span>; <a name="l00419"></a>00419 <a name="l00436"></a>00436 <span class="keyword">virtual</span> <a class="code" href="ucol_8h.html#77c059e24c6f4adbb974b58c04eebd05">UCollationResult</a> compare(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a>* source, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> sourceLength, <a name="l00437"></a>00437 <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a>* target, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> targetLength, <a name="l00438"></a>00438 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) <span class="keyword">const </span>= 0; <a name="l00439"></a>00439 <a name="l00455"></a>00455 <span class="keyword">virtual</span> <a class="code" href="classCollationKey.html">CollationKey</a>& getCollationKey(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00456"></a>00456 <a class="code" href="classCollationKey.html">CollationKey</a>& key, <a name="l00457"></a>00457 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status) <span class="keyword">const </span>= 0; <a name="l00458"></a>00458 <a name="l00475"></a>00475 <span class="keyword">virtual</span> <a class="code" href="classCollationKey.html">CollationKey</a>& getCollationKey(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a>*source, <a name="l00476"></a>00476 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> sourceLength, <a name="l00477"></a>00477 <a class="code" href="classCollationKey.html">CollationKey</a>& key, <a name="l00478"></a>00478 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status) <span class="keyword">const </span>= 0; <a name="l00483"></a>00483 <span class="keyword">virtual</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> hashCode(<span class="keywordtype">void</span>) <span class="keyword">const </span>= 0; <a name="l00484"></a>00484 <a name="l00497"></a>00497 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a> getLocale(<a class="code" href="uloc_8h.html#6de2f28093c32f13fb2527413bfcbef9">ULocDataLocaleType</a> type, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status) <span class="keyword">const </span>= 0; <a name="l00498"></a>00498 <a name="l00508"></a>00508 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> greater(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target) <a name="l00509"></a>00509 <span class="keyword">const</span>; <a name="l00510"></a>00510 <a name="l00520"></a>00520 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> greaterOrEqual(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00521"></a>00521 <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target) <span class="keyword">const</span>; <a name="l00522"></a>00522 <a name="l00532"></a>00532 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> equals(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& target) <span class="keyword">const</span>; <a name="l00533"></a>00533 <a name="l00544"></a>00544 <span class="keyword">virtual</span> ECollationStrength getStrength(<span class="keywordtype">void</span>) <span class="keyword">const </span>= 0; <a name="l00545"></a>00545 <a name="l00564"></a>00564 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setStrength(ECollationStrength newStrength) = 0; <a name="l00565"></a>00565 <a name="l00575"></a>00575 <span class="keyword">static</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getDisplayName(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& objectLocale, <a name="l00576"></a>00576 <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& displayLocale, <a name="l00577"></a>00577 <a class="code" href="classUnicodeString.html">UnicodeString</a>& name); <a name="l00578"></a>00578 <a name="l00587"></a>00587 <span class="keyword">static</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getDisplayName(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& objectLocale, <a name="l00588"></a>00588 <a class="code" href="classUnicodeString.html">UnicodeString</a>& name); <a name="l00589"></a>00589 <a name="l00601"></a>00601 <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>* <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getAvailableLocales(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a>& count); <a name="l00602"></a>00602 <a name="l00603"></a>00603 <span class="preprocessor">#if !UCONFIG_NO_SERVICE</span> <a name="l00604"></a>00604 <span class="preprocessor"></span> <a name="l00612"></a>00612 <span class="keyword">static</span> <a class="code" href="classStringEnumeration.html">StringEnumeration</a>* <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getAvailableLocales(<span class="keywordtype">void</span>); <a name="l00613"></a>00613 <span class="preprocessor">#endif</span> <a name="l00614"></a>00614 <span class="preprocessor"></span> <a name="l00624"></a>00624 <span class="keyword">static</span> <a class="code" href="classStringEnumeration.html">StringEnumeration</a>* <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getKeywords(<a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00625"></a>00625 <a name="l00637"></a>00637 <span class="keyword">static</span> <a class="code" href="classStringEnumeration.html">StringEnumeration</a>* <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getKeywordValues(<span class="keyword">const</span> <span class="keywordtype">char</span> *keyword, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00638"></a>00638 <a name="l00666"></a>00666 <span class="keyword">static</span> <a class="code" href="classLocale.html">Locale</a> <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getFunctionalEquivalent(<span class="keyword">const</span> <span class="keywordtype">char</span>* keyword, <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& locale, <a name="l00667"></a>00667 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a>& isAvailable, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00668"></a>00668 <a name="l00669"></a>00669 <span class="preprocessor">#if !UCONFIG_NO_SERVICE</span> <a name="l00670"></a>00670 <span class="preprocessor"></span> <a name="l00678"></a>00678 <span class="keyword">static</span> <a class="code" href="umisc_8h.html#c843777e019f4bd8c4aa698f7e50220f">URegistryKey</a> <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> registerInstance(<a class="code" href="classCollator.html">Collator</a>* toAdopt, <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& locale, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00679"></a>00679 <a name="l00687"></a>00687 <span class="keyword">static</span> <a class="code" href="umisc_8h.html#c843777e019f4bd8c4aa698f7e50220f">URegistryKey</a> <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> registerFactory(<a class="code" href="classCollatorFactory.html">CollatorFactory</a>* toAdopt, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00688"></a>00688 <a name="l00699"></a>00699 <span class="keyword">static</span> <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> unregister(<a class="code" href="umisc_8h.html#c843777e019f4bd8c4aa698f7e50220f">URegistryKey</a> key, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00700"></a>00700 <span class="preprocessor">#endif </span><span class="comment">/* UCONFIG_NO_SERVICE */</span> <a name="l00701"></a>00701 <a name="l00707"></a>00707 <span class="keyword">virtual</span> <span class="keywordtype">void</span> getVersion(<a class="code" href="uversion_8h.html#29ab969371cc8e67500fd2eeb6e9da24">UVersionInfo</a> info) <span class="keyword">const </span>= 0; <a name="l00708"></a>00708 <a name="l00719"></a>00719 <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#452dc3c7d14eb1a1837ae1aa0b2d6724">UClassID</a> <a class="code" href="classUObject.html#60f3fba82b9d7edfe3d3f9d423ab826d">getDynamicClassID</a>(<span class="keywordtype">void</span>) <span class="keyword">const </span>= 0; <a name="l00720"></a>00720 <a name="l00729"></a>00729 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setAttribute(<a class="code" href="ucol_8h.html#2ad1225f3b48d60c37715be7bcea0667">UColAttribute</a> attr, <a class="code" href="ucol_8h.html#6d5ac287fd6dc0eeb5d92d9c26882d2e">UColAttributeValue</a> value, <a name="l00730"></a>00730 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) = 0; <a name="l00731"></a>00731 <a name="l00740"></a>00740 <span class="keyword">virtual</span> <a class="code" href="ucol_8h.html#6d5ac287fd6dc0eeb5d92d9c26882d2e">UColAttributeValue</a> getAttribute(<a class="code" href="ucol_8h.html#2ad1225f3b48d60c37715be7bcea0667">UColAttribute</a> attr, <a name="l00741"></a>00741 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) = 0; <a name="l00742"></a>00742 <a name="l00753"></a>00753 <span class="keyword">virtual</span> <a class="code" href="pwin32_8h.html#6dffdaa3be697bee6b7286a8120d3638">uint32_t</a> setVariableTop(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a> *varTop, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> len, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) = 0; <a name="l00754"></a>00754 <a name="l00764"></a>00764 <span class="keyword">virtual</span> <a class="code" href="pwin32_8h.html#6dffdaa3be697bee6b7286a8120d3638">uint32_t</a> setVariableTop(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a> varTop, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) = 0; <a name="l00765"></a>00765 <a name="l00773"></a>00773 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setVariableTop(<span class="keyword">const</span> <a class="code" href="pwin32_8h.html#6dffdaa3be697bee6b7286a8120d3638">uint32_t</a> varTop, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) = 0; <a name="l00774"></a>00774 <a name="l00781"></a>00781 <span class="keyword">virtual</span> <a class="code" href="pwin32_8h.html#6dffdaa3be697bee6b7286a8120d3638">uint32_t</a> getVariableTop(<a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) <span class="keyword">const </span>= 0; <a name="l00782"></a>00782 <a name="l00792"></a>00792 <span class="keyword">virtual</span> <a class="code" href="classUnicodeSet.html">UnicodeSet</a> *getTailoredSet(<a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status) <span class="keyword">const</span>; <a name="l00793"></a>00793 <a name="l00794"></a>00794 <a name="l00800"></a>00800 <span class="keyword">virtual</span> <a class="code" href="classCollator.html">Collator</a>* safeClone(<span class="keywordtype">void</span>) = 0; <a name="l00801"></a>00801 <a name="l00814"></a>00814 <span class="keyword">virtual</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> getSortKey(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& source, <a name="l00815"></a>00815 <a class="code" href="pwin32_8h.html#3ebf7c4fcbf17b618a01df30a79859d3">uint8_t</a>* result, <a name="l00816"></a>00816 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> resultLength) <span class="keyword">const </span>= 0; <a name="l00817"></a>00817 <a name="l00833"></a>00833 <span class="keyword">virtual</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> getSortKey(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a7213b402d772584553f6e614109e6e4">UChar</a>*source, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> sourceLength, <a name="l00834"></a>00834 <a class="code" href="pwin32_8h.html#3ebf7c4fcbf17b618a01df30a79859d3">uint8_t</a>*result, <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> resultLength) <span class="keyword">const </span>= 0; <a name="l00835"></a>00835 <a name="l00873"></a>00873 <span class="keyword">static</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getBound(<span class="keyword">const</span> <a class="code" href="pwin32_8h.html#3ebf7c4fcbf17b618a01df30a79859d3">uint8_t</a> *source, <a name="l00874"></a>00874 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> sourceLength, <a name="l00875"></a>00875 <a class="code" href="ucol_8h.html#eb9fb3302b28685092f3a57d57bf4e43">UColBoundMode</a> boundType, <a name="l00876"></a>00876 <a class="code" href="pwin32_8h.html#6dffdaa3be697bee6b7286a8120d3638">uint32_t</a> noOfLevels, <a name="l00877"></a>00877 <a class="code" href="pwin32_8h.html#3ebf7c4fcbf17b618a01df30a79859d3">uint8_t</a> *result, <a name="l00878"></a>00878 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> resultLength, <a name="l00879"></a>00879 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a> &status); <a name="l00880"></a>00880 <a name="l00881"></a>00881 <a name="l00882"></a>00882 <span class="keyword">protected</span>: <a name="l00883"></a>00883 <a name="l00884"></a>00884 <span class="comment">// Collator protected constructors -------------------------------------</span> <a name="l00885"></a>00885 <a name="l00893"></a>00893 <a class="code" href="classCollator.html">Collator</a>(); <a name="l00894"></a>00894 <a name="l00906"></a>00906 <a class="code" href="classCollator.html">Collator</a>(<a class="code" href="ucol_8h.html#53df389519e44d04881c9df0f6612633">UCollationStrength</a> collationStrength, <a name="l00907"></a>00907 <a class="code" href="unorm_8h.html#eaa0651340c93c246a40f9cf84bd08aa">UNormalizationMode</a> decompositionMode); <a name="l00908"></a>00908 <a name="l00914"></a>00914 <a class="code" href="classCollator.html">Collator</a>(<span class="keyword">const</span> <a class="code" href="classCollator.html">Collator</a>& other); <a name="l00915"></a>00915 <a name="l00916"></a>00916 <span class="comment">// Collator protected methods -----------------------------------------</span> <a name="l00917"></a>00917 <a name="l00918"></a>00918 <a name="l00925"></a>00925 <span class="keyword">virtual</span> <span class="keywordtype">void</span> setLocales(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& requestedLocale, <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& validLocale); <a name="l00926"></a>00926 <a name="l00927"></a>00927 <span class="keyword">public</span>: <a name="l00928"></a>00928 <span class="preprocessor">#if !UCONFIG_NO_SERVICE</span> <a name="l00929"></a>00929 <span class="preprocessor"></span> <a name="l00933"></a>00933 <span class="keyword">static</span> <a class="code" href="ucol_8h.html#9728a7a69c055cea45009c9cdb2e1429">UCollator</a>* createUCollator(<span class="keyword">const</span> <span class="keywordtype">char</span>* loc, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>* status); <a name="l00934"></a>00934 <span class="preprocessor">#endif</span> <a name="l00935"></a>00935 <span class="preprocessor"></span><span class="keyword">private</span>: <a name="l00940"></a>00940 <a class="code" href="classCollator.html">Collator</a>& operator=(<span class="keyword">const</span> <a class="code" href="classCollator.html">Collator</a>& other); <a name="l00941"></a>00941 <a name="l00942"></a><a class="code" href="classCollator.html#24c4fd0047dfbc2dbd687263cff0ea69">00942</a> <span class="keyword">friend</span> <span class="keyword">class </span>CFactory; <a name="l00943"></a><a class="code" href="classCollator.html#4a844a9694e3a0359bf0a7fec48d2f76">00943</a> <span class="keyword">friend</span> <span class="keyword">class </span>SimpleCFactory; <a name="l00944"></a><a class="code" href="classCollator.html#8bf003e2e1e522bef0643067b0f4f062">00944</a> <span class="keyword">friend</span> <span class="keyword">class </span>ICUCollatorFactory; <a name="l00945"></a><a class="code" href="classCollator.html#269ab530592927209e1917e167b5a2d8">00945</a> <span class="keyword">friend</span> <span class="keyword">class </span>ICUCollatorService; <a name="l00946"></a>00946 <span class="keyword">static</span> <a class="code" href="classCollator.html">Collator</a>* makeInstance(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& desiredLocale, <a name="l00947"></a>00947 <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00948"></a>00948 <a name="l00949"></a>00949 <span class="comment">// Collator private data members ---------------------------------------</span> <a name="l00950"></a>00950 <a name="l00951"></a>00951 <span class="comment">/*</span> <a name="l00952"></a>00952 <span class="comment"> synwee : removed as attributes to be handled by child class</span> <a name="l00953"></a>00953 <span class="comment"> UCollationStrength strength;</span> <a name="l00954"></a>00954 <span class="comment"> Normalizer::EMode decmp;</span> <a name="l00955"></a>00955 <span class="comment"> */</span> <a name="l00956"></a>00956 <span class="comment">/* This is useless information */</span> <a name="l00957"></a>00957 <span class="comment">/* static const UVersionInfo fVersion;*/</span> <a name="l00958"></a>00958 }; <a name="l00959"></a>00959 <a name="l00960"></a>00960 <span class="preprocessor">#if !UCONFIG_NO_SERVICE</span> <a name="l00961"></a>00961 <span class="preprocessor"></span> <a name="l00977"></a><a class="code" href="classCollatorFactory.html">00977</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#3a1f02ad21823a0b4e4f69d4b82dee4b">U_I18N_API</a> CollatorFactory : <span class="keyword">public</span> <a class="code" href="classUObject.html">UObject</a> { <a name="l00978"></a>00978 <span class="keyword">public</span>: <a name="l00979"></a>00979 <a name="l00984"></a>00984 <span class="keyword">virtual</span> ~CollatorFactory(); <a name="l00985"></a>00985 <a name="l00993"></a>00993 <span class="keyword">virtual</span> <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> visible(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00994"></a>00994 <a name="l01002"></a>01002 <span class="keyword">virtual</span> <a class="code" href="classCollator.html">Collator</a>* createCollator(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& loc) = 0; <a name="l01003"></a>01003 <a name="l01014"></a>01014 <span class="keyword">virtual</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& getDisplayName(<span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& objectLocale, <a name="l01015"></a>01015 <span class="keyword">const</span> <a class="code" href="classLocale.html">Locale</a>& displayLocale, <a name="l01016"></a>01016 <a class="code" href="classUnicodeString.html">UnicodeString</a>& result); <a name="l01017"></a>01017 <a name="l01027"></a>01027 <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a> * getSupportedIDs(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> &count, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status) = 0; <a name="l01028"></a>01028 }; <a name="l01029"></a>01029 <span class="preprocessor">#endif </span><span class="comment">/* UCONFIG_NO_SERVICE */</span> <a name="l01030"></a>01030 <a name="l01031"></a>01031 <span class="comment">// Collator inline methods -----------------------------------------------</span> <a name="l01032"></a>01032 <a name="l01033"></a>01033 <a class="code" href="umachine_8h.html#951037cc9951ac3c70b527f8137f9f74">U_NAMESPACE_END</a> <a name="l01034"></a>01034 <a name="l01035"></a>01035 <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_COLLATION */</span> <a name="l01036"></a>01036 <a name="l01037"></a>01037 <span class="preprocessor">#endif</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Dec 13 17:29:51 2011 for ICU 3.6 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>