<!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.8: RuleBasedCollator Class Reference</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.5.1 --> <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 id="current"><a href="classes.html"><span>Data Structures</span></a></li> <li><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="classes.html"><span>Alphabetical List</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul></div> <h1>RuleBasedCollator Class Reference</h1><!-- doxytag: class="RuleBasedCollator" --><!-- doxytag: inherits="Collator" -->The <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> class provides the simple implementation of <a class="el" href="classCollator.html">Collator</a>, using data-driven tables. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="tblcoll_8h-source.html">tblcoll.h</a>></code> <p> <p>Inheritance diagram for RuleBasedCollator: <p><center><img src="classRuleBasedCollator.png" usemap="#RuleBasedCollator_map" border="0" alt=""></center> <map name="RuleBasedCollator_map"> <area href="classCollator.html" alt="Collator" shape="rect" coords="0,112,116,136"> <area href="classUObject.html" alt="UObject" shape="rect" coords="0,56,116,80"> <area href="classUMemory.html" alt="UMemory" shape="rect" coords="0,0,116,24"> </map> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#685723bd1b8a2df19350e5d8dce24c82">RuleBasedCollator</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &rules, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <a href="#685723bd1b8a2df19350e5d8dce24c82"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#cef0c60403fc780975d265cc6d52e3db">RuleBasedCollator</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &rules, <a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> collationStrength, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <a href="#cef0c60403fc780975d265cc6d52e3db"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#aae0055ec92464409909fbdd0c7ac589">RuleBasedCollator</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &rules, <a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> decompositionMode, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <a href="#aae0055ec92464409909fbdd0c7ac589"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#b22f30328e5abbb779b0a7c03b01e09a">RuleBasedCollator</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &rules, <a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> collationStrength, <a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> decompositionMode, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <a href="#b22f30328e5abbb779b0a7c03b01e09a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#3b002ad7d57e54e1a75d9c6fc7d9c5d5">RuleBasedCollator</a> (const <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> &other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="#3b002ad7d57e54e1a75d9c6fc7d9c5d5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#8422ec09bd4b623a3bff4e09c80a28cc">RuleBasedCollator</a> (const <a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *bin, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="el" href="ucnv_8h.html#2b811fa5f6e9b580fa0122d38e9849b5">length</a>, const <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> *base, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Opens a collator from a collator binary image created using cloneBinary. <a href="#8422ec09bd4b623a3bff4e09c80a28cc"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#2a080eeab83d1864d481fb45c6b82a59">~RuleBasedCollator</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#2a080eeab83d1864d481fb45c6b82a59"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#45ad21c50ac6d159d119d2c3a6dcd425">operator=</a> (const <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> &other)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Assignment operator. <a href="#45ad21c50ac6d159d119d2c3a6dcd425"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#270d4f6ee757818e2ae675df1c8f0238">operator==</a> (const <a class="el" href="classCollator.html">Collator</a> &other) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if argument is the same as this object. <a href="#270d4f6ee757818e2ae675df1c8f0238"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#b8ec2d43525f62148b627dc936f892b7">operator!=</a> (const <a class="el" href="classCollator.html">Collator</a> &other) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns true if argument is not the same as this object. <a href="#b8ec2d43525f62148b627dc936f892b7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollator.html">Collator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#fc3925de9f5b4b8c58192721cbb5bc57">clone</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Makes a deep copy of the object. <a href="#fc3925de9f5b4b8c58192721cbb5bc57"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollationElementIterator.html">CollationElementIterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#21ed64e0bf1796dc401f2bd92457f3d3">createCollationElementIterator</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a collation element iterator for the source string. <a href="#21ed64e0bf1796dc401f2bd92457f3d3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollationElementIterator.html">CollationElementIterator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#8bc7101af64b85406d7892d01a5ba29b">createCollationElementIterator</a> (const <a class="el" href="classCharacterIterator.html">CharacterIterator</a> &source) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a collation element iterator for the source. <a href="#8bc7101af64b85406d7892d01a5ba29b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">EComparisonResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#49b2017fd4861a6361e6b568d887adc2">compare</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source, const <a class="el" href="classUnicodeString.html">UnicodeString</a> &target) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compares a range of character data stored in two different strings based on the collation rules. <a href="#49b2017fd4861a6361e6b568d887adc2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="ucol_8h.html#8b4e71db8109af87f84ac1576e2b245d">UCollationResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#b011371ceb1f45df5de1a458d7612aa8">compare</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source, const <a class="el" href="classUnicodeString.html">UnicodeString</a> &target, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The comparison function compares the character data stored in two different strings. <a href="#b011371ceb1f45df5de1a458d7612aa8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">EComparisonResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#4c013af7a29d4b307be548dfc631f65c">compare</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source, const <a class="el" href="classUnicodeString.html">UnicodeString</a> &target, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="el" href="ucnv_8h.html#2b811fa5f6e9b580fa0122d38e9849b5">length</a>) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Compares a range of character data stored in two different strings based on the collation rules up to the specified length. <a href="#4c013af7a29d4b307be548dfc631f65c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="ucol_8h.html#8b4e71db8109af87f84ac1576e2b245d">UCollationResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#1acb41e02ed136ecda2441796b727271">compare</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source, const <a class="el" href="classUnicodeString.html">UnicodeString</a> &target, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> <a class="el" href="ucnv_8h.html#2b811fa5f6e9b580fa0122d38e9849b5">length</a>, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Does the same thing as compare but limits the comparison to a specified length. <a href="#1acb41e02ed136ecda2441796b727271"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">EComparisonResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#522f1279a6f70a1e94564f669ae4d410">compare</a> (const UChar *source, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> sourceLength, const UChar *target, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> targetLength) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The comparison function compares the character data stored in two different string arrays. <a href="#522f1279a6f70a1e94564f669ae4d410"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="ucol_8h.html#8b4e71db8109af87f84ac1576e2b245d">UCollationResult</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#6d410b9e3a7a3c353ca961ffbe6f5fdb">compare</a> (const UChar *source, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> sourceLength, const UChar *target, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> targetLength, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The comparison function compares the character data stored in two different string arrays. <a href="#6d410b9e3a7a3c353ca961ffbe6f5fdb"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollationKey.html">CollationKey</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#509690ecc2c4de4683cc226b4317174f">getCollationKey</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source, <a class="el" href="classCollationKey.html">CollationKey</a> &key, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Transforms a specified region of the string into a series of characters that can be compared with CollationKey.compare. <a href="#509690ecc2c4de4683cc226b4317174f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollationKey.html">CollationKey</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#36b0939e2dfb7c47fef177e0eec93700">getCollationKey</a> (const UChar *source, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> sourceLength, <a class="el" href="classCollationKey.html">CollationKey</a> &key, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Transforms a specified region of the string into a series of characters that can be compared with CollationKey.compare. <a href="#36b0939e2dfb7c47fef177e0eec93700"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#326891c5ae3763fab6e8e00b2289a413">hashCode</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Generates the hash code for the rule-based collation object. <a href="#326891c5ae3763fab6e8e00b2289a413"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const <a class="el" href="classLocale.html">Locale</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#3d00b511fe6fc791bdf728c50a98c45c">getLocale</a> (<a class="el" href="uloc_8h.html#df053345d343f8d82ae080f7a5871f34">ULocDataLocaleType</a> type, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the locale of the <a class="el" href="classCollator.html">Collator</a>. <a href="#3d00b511fe6fc791bdf728c50a98c45c"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#88b7cf04ca345ea2b17199905b869ccd">getRules</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the table-based rules for the collation object. <a href="#88b7cf04ca345ea2b17199905b869ccd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#c3e91383098974cd3cd4db490b5b7dcd">getVersion</a> (<a class="el" href="uversion_8h.html#61caef96ba86d8e86a4031925ea44e94">UVersionInfo</a> info) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the version information for a <a class="el" href="classCollator.html">Collator</a>. <a href="#c3e91383098974cd3cd4db490b5b7dcd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#986a615000a5828dbbddecd0a151f4ab">getMaxExpansion</a> (<a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> order) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the maximum length of any expansion sequences that end with the specified comparison order. <a href="#986a615000a5828dbbddecd0a151f4ab"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="utypes_8h.html#22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#475f2ae0796fc004c76c10d30b991ca5">getDynamicClassID</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns a unique class ID POLYMORPHICALLY. <a href="#475f2ae0796fc004c76c10d30b991ca5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#76f0c6651087f795e934ecba2357be36">cloneRuleData</a> (<a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> &<a class="el" href="ucnv_8h.html#2b811fa5f6e9b580fa0122d38e9849b5">length</a>, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the binary format of the class's rules. <a href="#76f0c6651087f795e934ecba2357be36"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#b4471befc42bf436cb771cef6b184ab7">cloneBinary</a> (<a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *buffer, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Creates a binary image of a collator. <a href="#b4471befc42bf436cb771cef6b184ab7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#49272a769d004665e981226e34859154">getRules</a> (<a class="el" href="ucol_8h.html#46363290036b8dffd6862c35e7b5872f">UColRuleOption</a> delta, <a class="el" href="classUnicodeString.html">UnicodeString</a> &buffer)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns current rules. <a href="#49272a769d004665e981226e34859154"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#c1817cbafe92cd3184d8712a8b72d746">setAttribute</a> (<a class="el" href="ucol_8h.html#583fbe7fc4a850e2fcc692e766d2826c">UColAttribute</a> attr, <a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> value, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Universal attribute setter. <a href="#c1817cbafe92cd3184d8712a8b72d746"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#4b104673bfec94c58f91478f14bcd286">getAttribute</a> (<a class="el" href="ucol_8h.html#583fbe7fc4a850e2fcc692e766d2826c">UColAttribute</a> attr, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Universal attribute getter. <a href="#4b104673bfec94c58f91478f14bcd286"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#1049c65c7c51c9540ca91bae25bf9f54">setVariableTop</a> (const UChar *varTop, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> len, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the variable top to a collation element value of a string supplied. <a href="#1049c65c7c51c9540ca91bae25bf9f54"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#828496b246626823fd96abe7dcf86782">setVariableTop</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> varTop, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the variable top to a collation element value of a string supplied. <a href="#828496b246626823fd96abe7dcf86782"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#da7dd7ac546e91febadd47c68df9c102">setVariableTop</a> (const <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> varTop, <a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the variable top to a collation element value supplied. <a href="#da7dd7ac546e91febadd47c68df9c102"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#9ca19126249015219dcfea19339d2e5b">getVariableTop</a> (<a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Gets the variable top value of a <a class="el" href="classCollator.html">Collator</a>. <a href="#9ca19126249015219dcfea19339d2e5b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classUnicodeSet.html">UnicodeSet</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#40d5958bd18ed0da6baf0324c37769a5">getTailoredSet</a> (<a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> &status) const</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get an <a class="el" href="classUnicodeSet.html">UnicodeSet</a> that contains all the characters and sequences tailored in this collator. <a href="#40d5958bd18ed0da6baf0324c37769a5"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollator.html">Collator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#b58b1bbb98649f03131fe8b4dcd7b109">safeClone</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Thread safe cloning operation. <a href="#b58b1bbb98649f03131fe8b4dcd7b109"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#572804441daa3ff64895a75b87991369">getSortKey</a> (const <a class="el" href="classUnicodeString.html">UnicodeString</a> &source, <a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *result, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> resultLength) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the sort key as an array of bytes from an <a class="el" href="classUnicodeString.html">UnicodeString</a>. <a href="#572804441daa3ff64895a75b87991369"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#9c185650b038aa1d64f01dbc6fdfbfbb">getSortKey</a> (const UChar *source, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> sourceLength, <a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> *result, <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> resultLength) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the sort key as an array of bytes from an UChar buffer. <a href="#9c185650b038aa1d64f01dbc6fdfbfbb"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#4687629722826dd02625049df0dcff2f">getStrength</a> (void) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Determines the minimum strength that will be use in comparison or transformation. <a href="#4687629722826dd02625049df0dcff2f"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#124ab414f1dc23cb3a5acc3f61e6a2d2">setStrength</a> (<a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> newStrength)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Sets the minimum strength to be used in comparison or transformation. <a href="#124ab414f1dc23cb3a5acc3f61e6a2d2"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="ucol_8h.html#3c4eeb412a5fd72762e6245aa75ca081">UCollator</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#6333a2d290fb5e3d005c60ebcd4a89e0">getUCollator</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get UCollator data struct. <a href="#6333a2d290fb5e3d005c60ebcd4a89e0"></a><br></td></tr> <tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">static <a class="el" href="utypes_8h.html#22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#0662ee51db5ee4ddb20ccd0aade72423">getStaticClassID</a> (void)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Returns the class ID for this class. <a href="#0662ee51db5ee4ddb20ccd0aade72423"></a><br></td></tr> <tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#24185345cc10b9fa5b167dae836e9aab">setLocales</a> (const <a class="el" href="classLocale.html">Locale</a> &requestedLocale, const <a class="el" href="classLocale.html">Locale</a> &validLocale)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used internally by registraton to define the requested and valid locales. <a href="#24185345cc10b9fa5b167dae836e9aab"></a><br></td></tr> <tr><td colspan="2"><br><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2493a8a45ec3ae69e1bec8355c948519"></a><!-- doxytag: member="RuleBasedCollator::CollationElementIterator" ref="2493a8a45ec3ae69e1bec8355c948519" args="" --> class </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#2493a8a45ec3ae69e1bec8355c948519">CollationElementIterator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Used to iterate over collation elements in a character source. <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f22e5ffabbf5a2d4d729daa0b5d3cafd"></a><!-- doxytag: member="RuleBasedCollator::Collator" ref="f22e5ffabbf5a2d4d729daa0b5d3cafd" args="" --> class </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#f22e5ffabbf5a2d4d729daa0b5d3cafd">Collator</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classCollator.html">Collator</a> ONLY needs access to <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a>(const <a class="el" href="classLocale.html">Locale</a>&, UErrorCode&). <br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="421a131b6330b132d67ac9582acb9886"></a><!-- doxytag: member="RuleBasedCollator::StringSearch" ref="421a131b6330b132d67ac9582acb9886" args="" --> class </td><td class="memItemRight" valign="bottom"><a class="el" href="classRuleBasedCollator.html#421a131b6330b132d67ac9582acb9886">StringSearch</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Searching over collation elements in a character source. <br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> The <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> class provides the simple implementation of <a class="el" href="classCollator.html">Collator</a>, using data-driven tables. <p> The user can create a customized table-based collation. <p> <em>Important: </em>The ICU collation service has been reimplemented in order to achieve better performance and UCA compliance. For details, see the <a href="http://source.icu-project.org/repos/icu/icuhtml/trunk/design/collation/ICU_collation_design.htm">collation design document</a>. <p> <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> is a thin C++ wrapper over the C implementation. <p> For more information about the collation service see <a href="http://icu-project.org/userguide/Collate_Intro.html">the users guide</a>. <p> Collation service provides correct sorting orders for most locales supported in ICU. If specific data for a locale is not available, the orders eventually falls back to the <a href="http://www.unicode.org/unicode/reports/tr10/">UCA sort order</a>. <p> Sort ordering may be customized by providing your own set of rules. For more on this subject see the <a href="http://icu-project.org/userguide/Collate_Customization.html">Collation customization</a> section of the users guide. <p> Note, <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> is not to be subclassed. <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCollator.html">Collator</a> </dd></dl> <dl class="version" compact><dt><b>Version:</b></dt><dd>2.0 11/15/2001 </dd></dl> <p> <p> Definition at line <a class="el" href="tblcoll_8h-source.html#l00110">110</a> of file <a class="el" href="tblcoll_8h-source.html">tblcoll.h</a>.<hr><h2>Constructor & Destructor Documentation</h2> <a class="anchor" name="685723bd1b8a2df19350e5d8dce24c82"></a><!-- doxytag: member="RuleBasedCollator::RuleBasedCollator" ref="685723bd1b8a2df19350e5d8dce24c82" args="(const UnicodeString &rules, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RuleBasedCollator::RuleBasedCollator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>rules</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <p> This takes the table rules and builds a collation table out of them. Please see <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> class description for more details on the collation rule syntax. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rules</em> </td><td>the collation rules to build the collation table from. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>reporting a success or an error. </td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classLocale.html">Locale</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002790">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="cef0c60403fc780975d265cc6d52e3db"></a><!-- doxytag: member="RuleBasedCollator::RuleBasedCollator" ref="cef0c60403fc780975d265cc6d52e3db" args="(const UnicodeString &rules, ECollationStrength collationStrength, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RuleBasedCollator::RuleBasedCollator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>rules</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> </td> <td class="paramname"> <em>collationStrength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <p> This takes the table rules and builds a collation table out of them. Please see <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> class description for more details on the collation rule syntax. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rules</em> </td><td>the collation rules to build the collation table from. </td></tr> <tr><td valign="top"></td><td valign="top"><em>collationStrength</em> </td><td>default strength for comparison </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>reporting a success or an error. </td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classLocale.html">Locale</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002791">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="aae0055ec92464409909fbdd0c7ac589"></a><!-- doxytag: member="RuleBasedCollator::RuleBasedCollator" ref="aae0055ec92464409909fbdd0c7ac589" args="(const UnicodeString &rules, UColAttributeValue decompositionMode, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RuleBasedCollator::RuleBasedCollator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>rules</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> </td> <td class="paramname"> <em>decompositionMode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <p> This takes the table rules and builds a collation table out of them. Please see <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> class description for more details on the collation rule syntax. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rules</em> </td><td>the collation rules to build the collation table from. </td></tr> <tr><td valign="top"></td><td valign="top"><em>decompositionMode</em> </td><td>the normalisation mode </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>reporting a success or an error. </td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classLocale.html">Locale</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002792">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="b22f30328e5abbb779b0a7c03b01e09a"></a><!-- doxytag: member="RuleBasedCollator::RuleBasedCollator" ref="b22f30328e5abbb779b0a7c03b01e09a" args="(const UnicodeString &rules, ECollationStrength collationStrength, UColAttributeValue decompositionMode, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RuleBasedCollator::RuleBasedCollator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>rules</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> </td> <td class="paramname"> <em>collationStrength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> </td> <td class="paramname"> <em>decompositionMode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> constructor. <p> This takes the table rules and builds a collation table out of them. Please see <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> class description for more details on the collation rule syntax. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>rules</em> </td><td>the collation rules to build the collation table from. </td></tr> <tr><td valign="top"></td><td valign="top"><em>collationStrength</em> </td><td>default strength for comparison </td></tr> <tr><td valign="top"></td><td valign="top"><em>decompositionMode</em> </td><td>the normalisation mode </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>reporting a success or an error. </td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classLocale.html">Locale</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002793">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="3b002ad7d57e54e1a75d9c6fc7d9c5d5"></a><!-- doxytag: member="RuleBasedCollator::RuleBasedCollator" ref="3b002ad7d57e54e1a75d9c6fc7d9c5d5" args="(const RuleBasedCollator &other)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RuleBasedCollator::RuleBasedCollator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Copy constructor. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>other</em> </td><td>the <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> object to be copied </td></tr> </table> </dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classLocale.html">Locale</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002794">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="8422ec09bd4b623a3bff4e09c80a28cc"></a><!-- doxytag: member="RuleBasedCollator::RuleBasedCollator" ref="8422ec09bd4b623a3bff4e09c80a28cc" args="(const uint8_t *bin, int32_t length, const RuleBasedCollator *base, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">RuleBasedCollator::RuleBasedCollator </td> <td>(</td> <td class="paramtype">const <a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> <td class="paramname"> <em>bin</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> * </td> <td class="paramname"> <em>base</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Opens a collator from a collator binary image created using cloneBinary. <p> Binary image used in instantiation of the collator remains owned by the user and should stay around for the lifetime of the collator. The API also takes a base collator which usualy should be UCA. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>bin</em> </td><td>binary image owned by the user and required through the lifetime of the collator </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>size of the image. If negative, the API will try to figure out the length of the image </td></tr> <tr><td valign="top"></td><td valign="top"><em>base</em> </td><td>fallback collator, usually UCA. Base is required to be present through the lifetime of the collator. Currently it cannot be NULL. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>for catching errors </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>newly created collator </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classRuleBasedCollator.html#b4471befc42bf436cb771cef6b184ab7">cloneBinary</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002795">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl> </div> </div><p> <a class="anchor" name="2a080eeab83d1864d481fb45c6b82a59"></a><!-- doxytag: member="RuleBasedCollator::~RuleBasedCollator" ref="2a080eeab83d1864d481fb45c6b82a59" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual RuleBasedCollator::~RuleBasedCollator </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Destructor. <p> <dl compact><dt><b><a class="el" href="stable.html#_stable002796">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <hr><h2>Member Function Documentation</h2> <a class="anchor" name="45ad21c50ac6d159d119d2c3a6dcd425"></a><!-- doxytag: member="RuleBasedCollator::operator=" ref="45ad21c50ac6d159d119d2c3a6dcd425" args="(const RuleBasedCollator &other)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a>& RuleBasedCollator::operator= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Assignment operator. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>other</em> </td><td>other <a class="el" href="classRuleBasedCollator.html">RuleBasedCollator</a> object to compare with. </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002797">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="270d4f6ee757818e2ae675df1c8f0238"></a><!-- doxytag: member="RuleBasedCollator::operator==" ref="270d4f6ee757818e2ae675df1c8f0238" args="(const Collator &other) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> RuleBasedCollator::operator== </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCollator.html">Collator</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns true if argument is the same as this object. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>other</em> </td><td><a class="el" href="classCollator.html">Collator</a> object to be compared. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>true if arguments is the same as this object. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002798">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#58fa13068a2e4e07a8835f6c0f8c18b6">Collator</a>. </div> </div><p> <a class="anchor" name="b8ec2d43525f62148b627dc936f892b7"></a><!-- doxytag: member="RuleBasedCollator::operator!=" ref="b8ec2d43525f62148b627dc936f892b7" args="(const Collator &other) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="umachine_8h.html#349ef00011f20ccd1d3b424445681aa5">UBool</a> RuleBasedCollator::operator!= </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCollator.html">Collator</a> & </td> <td class="paramname"> <em>other</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns true if argument is not the same as this object. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>other</em> </td><td><a class="el" href="classCollator.html">Collator</a> object to be compared </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns true if argument is not the same as this object. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002799">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#8c79adc0d04be5a7b82ac1991d445909">Collator</a>. </div> </div><p> <a class="anchor" name="fc3925de9f5b4b8c58192721cbb5bc57"></a><!-- doxytag: member="RuleBasedCollator::clone" ref="fc3925de9f5b4b8c58192721cbb5bc57" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollator.html">Collator</a>* RuleBasedCollator::clone </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Makes a deep copy of the object. <p> The caller owns the returned object. <dl class="return" compact><dt><b>Returns:</b></dt><dd>the cloned object. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002800">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#5b7873505ee31c3745c207cf45d114b4">Collator</a>. </div> </div><p> <a class="anchor" name="21ed64e0bf1796dc401f2bd92457f3d3"></a><!-- doxytag: member="RuleBasedCollator::createCollationElementIterator" ref="21ed64e0bf1796dc401f2bd92457f3d3" args="(const UnicodeString &source) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollationElementIterator.html">CollationElementIterator</a>* RuleBasedCollator::createCollationElementIterator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a collation element iterator for the source string. <p> The caller of this method is responsible for the memory management of the return pointer. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the string over which the <a class="el" href="classCollationElementIterator.html">CollationElementIterator</a> will iterate. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the collation element iterator of the source string using this as the based <a class="el" href="classCollator.html">Collator</a>. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002801">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> </div> </div><p> <a class="anchor" name="8bc7101af64b85406d7892d01a5ba29b"></a><!-- doxytag: member="RuleBasedCollator::createCollationElementIterator" ref="8bc7101af64b85406d7892d01a5ba29b" args="(const CharacterIterator &source) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollationElementIterator.html">CollationElementIterator</a>* RuleBasedCollator::createCollationElementIterator </td> <td>(</td> <td class="paramtype">const <a class="el" href="classCharacterIterator.html">CharacterIterator</a> & </td> <td class="paramname"> <em>source</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a collation element iterator for the source. <p> The caller of this method is responsible for the memory management of the returned pointer. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the <a class="el" href="classCharacterIterator.html">CharacterIterator</a> which produces the characters over which the CollationElementItgerator will iterate. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the collation element iterator of the source using this as the based <a class="el" href="classCollator.html">Collator</a>. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002802">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> </div> </div><p> <a class="anchor" name="49b2017fd4861a6361e6b568d887adc2"></a><!-- doxytag: member="RuleBasedCollator::compare" ref="49b2017fd4861a6361e6b568d887adc2" args="(const UnicodeString &source, const UnicodeString &target) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">EComparisonResult</a> RuleBasedCollator::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>target</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Compares a range of character data stored in two different strings based on the collation rules. <p> Returns information about whether a string is less than, greater than or equal to another string in a language. This can be overriden in a subclass. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the target string to be compared with the source string. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the comparison result. GREATER if the source string is greater than the target string, LESS if the source is less than the target. Otherwise, returns EQUAL. </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000218">Deprecated:</a></b></dt><dd>ICU 2.6 Use overload with UErrorCode& </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#ca611b586fa47a756d2b29996f713182">Collator</a>. </div> </div><p> <a class="anchor" name="b011371ceb1f45df5de1a458d7612aa8"></a><!-- doxytag: member="RuleBasedCollator::compare" ref="b011371ceb1f45df5de1a458d7612aa8" args="(const UnicodeString &source, const UnicodeString &target, UErrorCode &status) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="ucol_8h.html#8b4e71db8109af87f84ac1576e2b245d">UCollationResult</a> RuleBasedCollator::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The comparison function compares the character data stored in two different strings. <p> Returns information about whether a string is less than, greater than or equal to another string. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string to be compared with. </td></tr> <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the string that is to be compared with the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>possible error code </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns an enum value. UCOL_GREATER if source is greater than target; UCOL_EQUAL if source is equal to target; UCOL_LESS if source is less than target </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002803">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl> <p> Implements <a class="el" href="classCollator.html#87d53bab5e900d89ad27fd61ea6b985d">Collator</a>. </div> </div><p> <a class="anchor" name="4c013af7a29d4b307be548dfc631f65c"></a><!-- doxytag: member="RuleBasedCollator::compare" ref="4c013af7a29d4b307be548dfc631f65c" args="(const UnicodeString &source, const UnicodeString &target, int32_t length) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">EComparisonResult</a> RuleBasedCollator::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Compares a range of character data stored in two different strings based on the collation rules up to the specified length. <p> Returns information about whether a string is less than, greater than or equal to another string in a language. This can be overriden in a subclass. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the target string to be compared with the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>compares up to the specified length </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the comparison result. GREATER if the source string is greater than the target string, LESS if the source is less than the target. Otherwise, returns EQUAL. </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000219">Deprecated:</a></b></dt><dd>ICU 2.6 Use overload with UErrorCode& </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#e5dcb5135932d73ff6700b66d119b39f">Collator</a>. </div> </div><p> <a class="anchor" name="1acb41e02ed136ecda2441796b727271"></a><!-- doxytag: member="RuleBasedCollator::compare" ref="1acb41e02ed136ecda2441796b727271" args="(const UnicodeString &source, const UnicodeString &target, int32_t length, UErrorCode &status) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="ucol_8h.html#8b4e71db8109af87f84ac1576e2b245d">UCollationResult</a> RuleBasedCollator::compare </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Does the same thing as compare but limits the comparison to a specified length. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string to be compared with. </td></tr> <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the string that is to be compared with the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>the length the comparison is limited to </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>possible error code </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns an enum value. UCOL_GREATER if source (up to the specified length) is greater than target; UCOL_EQUAL if source (up to specified length) is equal to target; UCOL_LESS if source (up to the specified length) is less than target. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002804">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl> <p> Implements <a class="el" href="classCollator.html#550d7d5a20e5b885f93331f5fa508e40">Collator</a>. </div> </div><p> <a class="anchor" name="522f1279a6f70a1e94564f669ae4d410"></a><!-- doxytag: member="RuleBasedCollator::compare" ref="522f1279a6f70a1e94564f669ae4d410" args="(const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">EComparisonResult</a> RuleBasedCollator::compare </td> <td>(</td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>sourceLength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>targetLength</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The comparison function compares the character data stored in two different string arrays. <p> Returns information about whether a string array is less than, greater than or equal to another string array. <p> Example of use: <pre> . UChar ABC[] = {0x41, 0x42, 0x43, 0}; // = "ABC" . UChar abc[] = {0x61, 0x62, 0x63, 0}; // = "abc" . UErrorCode status = U_ZERO_ERROR; . <a class="el" href="classCollator.html">Collator</a> *myCollation = . Collator::createInstance(Locale::US, status); . if (<a class="el" href="utypes_8h.html#4d202200b6aa6f3c965ea370e0c8155f">U_FAILURE(status)</a>) return; . myCollation->setStrength(Collator::PRIMARY); . // result would be Collator::EQUAL ("abc" == "ABC") . // (no primary difference between "abc" and "ABC") . <a class="el" href="classCollator.html#05f22f81363f2613bea18a632b67686f">Collator::EComparisonResult</a> result = . myCollation->compare(abc, 3, ABC, 3); . myCollation->setStrength(Collator::TERTIARY); . // result would be Collator::LESS ("abc" <<< "ABC") . // (with tertiary difference between "abc" and "ABC") . result = myCollation->compare(abc, 3, ABC, 3); </pre> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string array to be compared with. </td></tr> <tr><td valign="top"></td><td valign="top"><em>sourceLength</em> </td><td>the length of the source string array. If this value is equal to -1, the string array is null-terminated. </td></tr> <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the string that is to be compared with the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>targetLength</em> </td><td>the length of the target string array. If this value is equal to -1, the string array is null-terminated. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns a byte value. GREATER if source is greater than target; EQUAL if source is equal to target; LESS if source is less than target </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000220">Deprecated:</a></b></dt><dd>ICU 2.6 Use overload with UErrorCode& </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#6ed570968d689706df2e232fdab844fa">Collator</a>. </div> </div><p> <a class="anchor" name="6d410b9e3a7a3c353ca961ffbe6f5fdb"></a><!-- doxytag: member="RuleBasedCollator::compare" ref="6d410b9e3a7a3c353ca961ffbe6f5fdb" args="(const UChar *source, int32_t sourceLength, const UChar *target, int32_t targetLength, UErrorCode &status) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="ucol_8h.html#8b4e71db8109af87f84ac1576e2b245d">UCollationResult</a> RuleBasedCollator::compare </td> <td>(</td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>sourceLength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>target</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>targetLength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> The comparison function compares the character data stored in two different string arrays. <p> Returns information about whether a string array is less than, greater than or equal to another string array. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string array to be compared with. </td></tr> <tr><td valign="top"></td><td valign="top"><em>sourceLength</em> </td><td>the length of the source string array. If this value is equal to -1, the string array is null-terminated. </td></tr> <tr><td valign="top"></td><td valign="top"><em>target</em> </td><td>the string that is to be compared with the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>targetLength</em> </td><td>the length of the target string array. If this value is equal to -1, the string array is null-terminated. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>possible error code </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Returns an enum value. UCOL_GREATER if source is greater than target; UCOL_EQUAL if source is equal to target; UCOL_LESS if source is less than target </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002805">Stable:</a></b></dt><dd>ICU 2.6 </dd></dl> <p> Implements <a class="el" href="classCollator.html#5f32ec22ac5ed66bff8d7707db9260d7">Collator</a>. </div> </div><p> <a class="anchor" name="509690ecc2c4de4683cc226b4317174f"></a><!-- doxytag: member="RuleBasedCollator::getCollationKey" ref="509690ecc2c4de4683cc226b4317174f" args="(const UnicodeString &source, CollationKey &key, UErrorCode &status) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollationKey.html">CollationKey</a>& RuleBasedCollator::getCollationKey </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCollationKey.html">CollationKey</a> & </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Transforms a specified region of the string into a series of characters that can be compared with CollationKey.compare. <p> Use a <a class="el" href="classCollationKey.html">CollationKey</a> when you need to do repeated comparisions on the same string. For a single comparison the compare method will be faster. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the transformed key of the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>the error code status. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the transformed key. </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCollationKey.html">CollationKey</a> </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000221">Deprecated:</a></b></dt><dd>ICU 2.8 Use getSortKey(...) instead </dd></dl> <p> Implements <a class="el" href="classCollator.html#b48ddb212e12b9ef4ffa7163e2d7810a">Collator</a>. </div> </div><p> <a class="anchor" name="36b0939e2dfb7c47fef177e0eec93700"></a><!-- doxytag: member="RuleBasedCollator::getCollationKey" ref="36b0939e2dfb7c47fef177e0eec93700" args="(const UChar *source, int32_t sourceLength, CollationKey &key, UErrorCode &status) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollationKey.html">CollationKey</a>& RuleBasedCollator::getCollationKey </td> <td>(</td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>sourceLength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classCollationKey.html">CollationKey</a> & </td> <td class="paramname"> <em>key</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Transforms a specified region of the string into a series of characters that can be compared with CollationKey.compare. <p> Use a <a class="el" href="classCollationKey.html">CollationKey</a> when you need to do repeated comparisions on the same string. For a single comparison the compare method will be faster. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>sourceLength</em> </td><td>the length of the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>key</em> </td><td>the transformed key of the source string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>the error code status. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the transformed key. </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCollationKey.html">CollationKey</a> </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000222">Deprecated:</a></b></dt><dd>ICU 2.8 Use getSortKey(...) instead </dd></dl> <p> Implements <a class="el" href="classCollator.html#fd733f040738213f0e46847b1e31cf6a">Collator</a>. </div> </div><p> <a class="anchor" name="326891c5ae3763fab6e8e00b2289a413"></a><!-- doxytag: member="RuleBasedCollator::hashCode" ref="326891c5ae3763fab6e8e00b2289a413" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> RuleBasedCollator::hashCode </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Generates the hash code for the rule-based collation object. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>the hash code. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002806">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#989efcbd6664efd0a8e738a2c1d3f357">Collator</a>. </div> </div><p> <a class="anchor" name="3d00b511fe6fc791bdf728c50a98c45c"></a><!-- doxytag: member="RuleBasedCollator::getLocale" ref="3d00b511fe6fc791bdf728c50a98c45c" args="(ULocDataLocaleType type, UErrorCode &status) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual const <a class="el" href="classLocale.html">Locale</a> RuleBasedCollator::getLocale </td> <td>(</td> <td class="paramtype"><a class="el" href="uloc_8h.html#df053345d343f8d82ae080f7a5871f34">ULocDataLocaleType</a> </td> <td class="paramname"> <em>type</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the locale of the <a class="el" href="classCollator.html">Collator</a>. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>type</em> </td><td>can be either requested, valid or actual locale. For more information see the definition of ULocDataLocaleType in <a class="el" href="uloc_8h.html">uloc.h</a> </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>the error code status. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>locale where the collation data lives. If the collator was instantiated from rules, locale is empty. </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000223">Deprecated:</a></b></dt><dd>ICU 2.8 likely to change in ICU 3.0, based on feedback </dd></dl> <p> Implements <a class="el" href="classCollator.html#3a871f1b08787fde0a9a4fef135d2928">Collator</a>. </div> </div><p> <a class="anchor" name="88b7cf04ca345ea2b17199905b869ccd"></a><!-- doxytag: member="RuleBasedCollator::getRules" ref="88b7cf04ca345ea2b17199905b869ccd" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classUnicodeString.html">UnicodeString</a>& RuleBasedCollator::getRules </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const</td> </tr> </table> </div> <div class="memdoc"> <p> Gets the table-based rules for the collation object. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>returns the collation rules that the table collation object was created from. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002807">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="c3e91383098974cd3cd4db490b5b7dcd"></a><!-- doxytag: member="RuleBasedCollator::getVersion" ref="c3e91383098974cd3cd4db490b5b7dcd" args="(UVersionInfo info) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void RuleBasedCollator::getVersion </td> <td>(</td> <td class="paramtype"><a class="el" href="uversion_8h.html#61caef96ba86d8e86a4031925ea44e94">UVersionInfo</a> </td> <td class="paramname"> <em>info</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the version information for a <a class="el" href="classCollator.html">Collator</a>. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>info</em> </td><td>the version # information, the result will be filled in </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002808">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#a0be92c2d066910f88b27d914b4fb117">Collator</a>. </div> </div><p> <a class="anchor" name="986a615000a5828dbbddecd0a151f4ab"></a><!-- doxytag: member="RuleBasedCollator::getMaxExpansion" ref="986a615000a5828dbbddecd0a151f4ab" args="(int32_t order) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> RuleBasedCollator::getMaxExpansion </td> <td>(</td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>order</em> </td> <td> ) </td> <td width="100%"> const</td> </tr> </table> </div> <div class="memdoc"> <p> Return the maximum length of any expansion sequences that end with the specified comparison order. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>order</em> </td><td>a collation order returned by previous or next. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>maximum size of the expansion sequences ending with the collation element or 1 if collation element does not occur at the end of any expansion sequence </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classCollationElementIterator.html#ea334a8abe02f4544a98d32c83e72ad9">CollationElementIterator::getMaxExpansion</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002809">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="475f2ae0796fc004c76c10d30b991ca5"></a><!-- doxytag: member="RuleBasedCollator::getDynamicClassID" ref="475f2ae0796fc004c76c10d30b991ca5" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="utypes_8h.html#22af10545208a455a6e884008df48e9f">UClassID</a> RuleBasedCollator::getDynamicClassID </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns a unique class ID POLYMORPHICALLY. <p> Pure virtual override. This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic <a class="el" href="classRuleBasedCollator.html#270d4f6ee757818e2ae675df1c8f0238">operator==()</a> and <a class="el" href="classRuleBasedCollator.html#fc3925de9f5b4b8c58192721cbb5bc57">clone()</a> methods call this method. <dl class="return" compact><dt><b>Returns:</b></dt><dd>The class ID for this object. All objects of a given class have the same class ID. Objects of other classes have different class IDs. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002810">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#eaf10ab8b08d195a294a9b15aa7195da">Collator</a>. </div> </div><p> <a class="anchor" name="0662ee51db5ee4ddb20ccd0aade72423"></a><!-- doxytag: member="RuleBasedCollator::getStaticClassID" ref="0662ee51db5ee4ddb20ccd0aade72423" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="utypes_8h.html#22af10545208a455a6e884008df48e9f">UClassID</a> RuleBasedCollator::getStaticClassID </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the class ID for this class. <p> This is useful only for comparing to a return value from <a class="el" href="classRuleBasedCollator.html#475f2ae0796fc004c76c10d30b991ca5">getDynamicClassID()</a>. For example: <pre> Base* polymorphic_pointer = createPolymorphicObject(); if (polymorphic_pointer-><a class="el" href="classRuleBasedCollator.html#475f2ae0796fc004c76c10d30b991ca5">getDynamicClassID()</a> == Derived::getStaticClassID()) ... </pre> <dl class="return" compact><dt><b>Returns:</b></dt><dd>The class ID for all objects of this class. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002811">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> </div> </div><p> <a class="anchor" name="76f0c6651087f795e934ecba2357be36"></a><!-- doxytag: member="RuleBasedCollator::cloneRuleData" ref="76f0c6651087f795e934ecba2357be36" args="(int32_t &length, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a>* RuleBasedCollator::cloneRuleData </td> <td>(</td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> & </td> <td class="paramname"> <em>length</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Returns the binary format of the class's rules. <p> The format is that of .col files. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>length</em> </td><td>Returns the length of the data, in bytes </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>the error code status. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>memory, owned by the caller, of size 'length' bytes. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002812">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> </div> </div><p> <a class="anchor" name="b4471befc42bf436cb771cef6b184ab7"></a><!-- doxytag: member="RuleBasedCollator::cloneBinary" ref="b4471befc42bf436cb771cef6b184ab7" args="(uint8_t *buffer, int32_t capacity, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> RuleBasedCollator::cloneBinary </td> <td>(</td> <td class="paramtype"><a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> <td class="paramname"> <em>buffer</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>capacity</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Creates a binary image of a collator. <p> This binary image can be stored and later used to instantiate a collator using ucol_openBinary. This API supports preflighting. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td>a fill-in buffer to receive the binary image </td></tr> <tr><td valign="top"></td><td valign="top"><em>capacity</em> </td><td>capacity of the destination buffer </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>for catching errors </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>size of the image </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="ucol_8h.html#467ea0dde69a6990f6ecbb7e30da6003">ucol_openBinary</a> </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002813">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl> </div> </div><p> <a class="anchor" name="49272a769d004665e981226e34859154"></a><!-- doxytag: member="RuleBasedCollator::getRules" ref="49272a769d004665e981226e34859154" args="(UColRuleOption delta, UnicodeString &buffer)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void RuleBasedCollator::getRules </td> <td>(</td> <td class="paramtype"><a class="el" href="ucol_8h.html#46363290036b8dffd6862c35e7b5872f">UColRuleOption</a> </td> <td class="paramname"> <em>delta</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>buffer</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"></td> </tr> </table> </div> <div class="memdoc"> <p> Returns current rules. <p> Delta defines whether full rules are returned or just the tailoring. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>delta</em> </td><td>one of UCOL_TAILORING_ONLY, UCOL_FULL_RULES. </td></tr> <tr><td valign="top"></td><td valign="top"><em>buffer</em> </td><td><a class="el" href="classUnicodeString.html">UnicodeString</a> to store the result rules </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002814">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> </div> </div><p> <a class="anchor" name="c1817cbafe92cd3184d8712a8b72d746"></a><!-- doxytag: member="RuleBasedCollator::setAttribute" ref="c1817cbafe92cd3184d8712a8b72d746" args="(UColAttribute attr, UColAttributeValue value, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void RuleBasedCollator::setAttribute </td> <td>(</td> <td class="paramtype"><a class="el" href="ucol_8h.html#583fbe7fc4a850e2fcc692e766d2826c">UColAttribute</a> </td> <td class="paramname"> <em>attr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> </td> <td class="paramname"> <em>value</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Universal attribute setter. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>attribute type </td></tr> <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>attribute value </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>to indicate whether the operation went on smoothly or there were errors </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002815">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> <p> Implements <a class="el" href="classCollator.html#132f1d7ad918bc1f4dcb956fd74ea808">Collator</a>. </div> </div><p> <a class="anchor" name="4b104673bfec94c58f91478f14bcd286"></a><!-- doxytag: member="RuleBasedCollator::getAttribute" ref="4b104673bfec94c58f91478f14bcd286" args="(UColAttribute attr, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="ucol_8h.html#cc801048729e684bcabed328be85f77a">UColAttributeValue</a> RuleBasedCollator::getAttribute </td> <td>(</td> <td class="paramtype"><a class="el" href="ucol_8h.html#583fbe7fc4a850e2fcc692e766d2826c">UColAttribute</a> </td> <td class="paramname"> <em>attr</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Universal attribute getter. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>attr</em> </td><td>attribute type </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>to indicate whether the operation went on smoothly or there were errors </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>attribute value </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002816">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> <p> Implements <a class="el" href="classCollator.html#84c6c013a46196d829f71fa843ae7933">Collator</a>. </div> </div><p> <a class="anchor" name="1049c65c7c51c9540ca91bae25bf9f54"></a><!-- doxytag: member="RuleBasedCollator::setVariableTop" ref="1049c65c7c51c9540ca91bae25bf9f54" args="(const UChar *varTop, int32_t len, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> RuleBasedCollator::setVariableTop </td> <td>(</td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>varTop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>len</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the variable top to a collation element value of a string supplied. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>varTop</em> </td><td>one or more (if contraction) UChars to which the variable top should be set </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>length of variable top string. If -1 it is considered to be zero terminated. </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>error code. If error code is set, the return value is undefined. Errors set by this function are: <br> U_CE_NOT_FOUND_ERROR if more than one character was passed and there is no such a contraction<br> U_PRIMARY_TOO_LONG_ERROR if the primary for the variable top has more than two bytes </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a 32 bit value containing the value of the variable top in upper 16 bits. Lower 16 bits are undefined </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002817">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#b6e4fc13e278beca8a39539dc326a913">Collator</a>. </div> </div><p> <a class="anchor" name="828496b246626823fd96abe7dcf86782"></a><!-- doxytag: member="RuleBasedCollator::setVariableTop" ref="828496b246626823fd96abe7dcf86782" args="(const UnicodeString varTop, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> RuleBasedCollator::setVariableTop </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> </td> <td class="paramname"> <em>varTop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the variable top to a collation element value of a string supplied. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>varTop</em> </td><td>an <a class="el" href="classUnicodeString.html">UnicodeString</a> size 1 or more (if contraction) of UChars to which the variable top should be set </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>error code. If error code is set, the return value is undefined. Errors set by this function are: <br> U_CE_NOT_FOUND_ERROR if more than one character was passed and there is no such a contraction<br> U_PRIMARY_TOO_LONG_ERROR if the primary for the variable top has more than two bytes </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a 32 bit value containing the value of the variable top in upper 16 bits. Lower 16 bits are undefined </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002818">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#dbf3ad5122866f9a16d39ca07779ddce">Collator</a>. </div> </div><p> <a class="anchor" name="da7dd7ac546e91febadd47c68df9c102"></a><!-- doxytag: member="RuleBasedCollator::setVariableTop" ref="da7dd7ac546e91febadd47c68df9c102" args="(const uint32_t varTop, UErrorCode &status)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void RuleBasedCollator::setVariableTop </td> <td>(</td> <td class="paramtype">const <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> </td> <td class="paramname"> <em>varTop</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the variable top to a collation element value supplied. <p> Variable top is set to the upper 16 bits. Lower 16 bits are ignored. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>varTop</em> </td><td>CE value, as returned by setVariableTop or ucol)getVariableTop </td></tr> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>error code (not changed by function) </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002819">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#fc34e06d5d3675e6e6ad26a1ee303690">Collator</a>. </div> </div><p> <a class="anchor" name="9ca19126249015219dcfea19339d2e5b"></a><!-- doxytag: member="RuleBasedCollator::getVariableTop" ref="9ca19126249015219dcfea19339d2e5b" args="(UErrorCode &status) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="pwin32_8h.html#435d1572bf3f880d55459d9805097f62">uint32_t</a> RuleBasedCollator::getVariableTop </td> <td>(</td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Gets the variable top value of a <a class="el" href="classCollator.html">Collator</a>. <p> Lower 16 bits are undefined and should be ignored. <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>error code (not changed by function). If error code is set, the return value is undefined. </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002820">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#f04197e6c46b619cb1afbd523c333643">Collator</a>. </div> </div><p> <a class="anchor" name="40d5958bd18ed0da6baf0324c37769a5"></a><!-- doxytag: member="RuleBasedCollator::getTailoredSet" ref="40d5958bd18ed0da6baf0324c37769a5" args="(UErrorCode &status) const" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classUnicodeSet.html">UnicodeSet</a>* RuleBasedCollator::getTailoredSet </td> <td>(</td> <td class="paramtype"><a class="el" href="utypes_8h.html#3343c1c8a8377277046774691c98d78c">UErrorCode</a> & </td> <td class="paramname"> <em>status</em> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get an <a class="el" href="classUnicodeSet.html">UnicodeSet</a> that contains all the characters and sequences tailored in this collator. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>status</em> </td><td>error code of the operation </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a pointer to a <a class="el" href="classUnicodeSet.html">UnicodeSet</a> object containing all the code points and sequences that may sort differently than in the UCA. The object must be disposed of by using delete </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002821">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#a62e72fedfe466e279f4ebf6343c520e">Collator</a>. </div> </div><p> <a class="anchor" name="b58b1bbb98649f03131fe8b4dcd7b109"></a><!-- doxytag: member="RuleBasedCollator::safeClone" ref="b58b1bbb98649f03131fe8b4dcd7b109" args="(void)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollator.html">Collator</a>* RuleBasedCollator::safeClone </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Thread safe cloning operation. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to the new clone, user should remove it. </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002822">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> <p> Implements <a class="el" href="classCollator.html#a97156a2a27c2e7fc0fccd0aee61de5a">Collator</a>. </div> </div><p> <a class="anchor" name="572804441daa3ff64895a75b87991369"></a><!-- doxytag: member="RuleBasedCollator::getSortKey" ref="572804441daa3ff64895a75b87991369" args="(const UnicodeString &source, uint8_t *result, int32_t resultLength) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> RuleBasedCollator::getSortKey </td> <td>(</td> <td class="paramtype">const <a class="el" href="classUnicodeString.html">UnicodeString</a> & </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>resultLength</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the sort key as an array of bytes from an <a class="el" href="classUnicodeString.html">UnicodeString</a>. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>string to be processed. </td></tr> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>buffer to store result in. If NULL, number of bytes needed will be returned. </td></tr> <tr><td valign="top"></td><td valign="top"><em>resultLength</em> </td><td>length of the result buffer. If if not enough the buffer will be filled to capacity. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes needed for storing the sort key </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002823">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl> <p> Implements <a class="el" href="classCollator.html#e524fd43a06d4429e2c76bef35874d4c">Collator</a>. </div> </div><p> <a class="anchor" name="9c185650b038aa1d64f01dbc6fdfbfbb"></a><!-- doxytag: member="RuleBasedCollator::getSortKey" ref="9c185650b038aa1d64f01dbc6fdfbfbb" args="(const UChar *source, int32_t sourceLength, uint8_t *result, int32_t resultLength) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> RuleBasedCollator::getSortKey </td> <td>(</td> <td class="paramtype">const UChar * </td> <td class="paramname"> <em>source</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>sourceLength</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#ba7bc1797add20fe3efdf37ced1182c5">uint8_t</a> * </td> <td class="paramname"> <em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="pwin32_8h.html#b1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> </td> <td class="paramname"> <em>resultLength</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get the sort key as an array of bytes from an UChar buffer. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>source</em> </td><td>string to be processed. </td></tr> <tr><td valign="top"></td><td valign="top"><em>sourceLength</em> </td><td>length of string to be processed. If -1, the string is 0 terminated and length will be decided by the function. </td></tr> <tr><td valign="top"></td><td valign="top"><em>result</em> </td><td>buffer to store result in. If NULL, number of bytes needed will be returned. </td></tr> <tr><td valign="top"></td><td valign="top"><em>resultLength</em> </td><td>length of the result buffer. If if not enough the buffer will be filled to capacity. </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>Number of bytes needed for storing the sort key </dd></dl> <dl compact><dt><b><a class="el" href="stable.html#_stable002824">Stable:</a></b></dt><dd>ICU 2.2 </dd></dl> <p> Implements <a class="el" href="classCollator.html#f379292af58ae29650690a02c410bfe1">Collator</a>. </div> </div><p> <a class="anchor" name="4687629722826dd02625049df0dcff2f"></a><!-- doxytag: member="RuleBasedCollator::getStrength" ref="4687629722826dd02625049df0dcff2f" args="(void) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> RuleBasedCollator::getStrength </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"> </td> <td> ) </td> <td width="100%"> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Determines the minimum strength that will be use in comparison or transformation. <p> E.g. with strength == SECONDARY, the tertiary difference is ignored <p> E.g. with strength == PRIMARY, the secondary and tertiary difference are ignored. <dl class="return" compact><dt><b>Returns:</b></dt><dd>the current comparison level. </dd></dl> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classRuleBasedCollator.html#124ab414f1dc23cb3a5acc3f61e6a2d2">RuleBasedCollator::setStrength</a> </dd></dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000224">Deprecated:</a></b></dt><dd>ICU 2.6 Use getAttribute(UCOL_STRENGTH...) instead </dd></dl> <p> Implements <a class="el" href="classCollator.html#bbd68b496b6063c5a09a35ce96e4ce93">Collator</a>. </div> </div><p> <a class="anchor" name="124ab414f1dc23cb3a5acc3f61e6a2d2"></a><!-- doxytag: member="RuleBasedCollator::setStrength" ref="124ab414f1dc23cb3a5acc3f61e6a2d2" args="(ECollationStrength newStrength)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void RuleBasedCollator::setStrength </td> <td>(</td> <td class="paramtype"><a class="el" href="classCollator.html#2872c36ad74fc1100331783afe6b38d5">ECollationStrength</a> </td> <td class="paramname"> <em>newStrength</em> </td> <td> ) </td> <td width="100%"><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Sets the minimum strength to be used in comparison or transformation. <p> <dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classRuleBasedCollator.html#4687629722826dd02625049df0dcff2f">RuleBasedCollator::getStrength</a> </dd></dl> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>newStrength</em> </td><td>the new comparison level. </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="deprecated.html#_deprecated000225">Deprecated:</a></b></dt><dd>ICU 2.6 Use setAttribute(UCOL_STRENGTH...) instead </dd></dl> <p> Implements <a class="el" href="classCollator.html#0337d30970c7b73a6885a31d6d7d2afa">Collator</a>. </div> </div><p> <a class="anchor" name="6333a2d290fb5e3d005c60ebcd4a89e0"></a><!-- doxytag: member="RuleBasedCollator::getUCollator" ref="6333a2d290fb5e3d005c60ebcd4a89e0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="ucol_8h.html#3c4eeb412a5fd72762e6245aa75ca081">UCollator</a> * RuleBasedCollator::getUCollator </td> <td>(</td> <td class="paramname"> </td> <td> ) </td> <td width="100%"><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Get UCollator data struct. <p> Used only by <a class="el" href="classStringSearch.html">StringSearch</a> & intltest. <dl class="return" compact><dt><b>Returns:</b></dt><dd>UCollator data struct </dd></dl> <dl compact><dt><b><a class="el" href="internal.html#_internal000183">Internal:</a></b></dt><dd>Do not use. This API is for interal use only. </dd></dl> <p> Definition at line <a class="el" href="tblcoll_8h-source.html#l00865">865</a> of file <a class="el" href="tblcoll_8h-source.html">tblcoll.h</a>. </div> </div><p> <a class="anchor" name="24185345cc10b9fa5b167dae836e9aab"></a><!-- doxytag: member="RuleBasedCollator::setLocales" ref="24185345cc10b9fa5b167dae836e9aab" args="(const Locale &requestedLocale, const Locale &validLocale)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void RuleBasedCollator::setLocales </td> <td>(</td> <td class="paramtype">const <a class="el" href="classLocale.html">Locale</a> & </td> <td class="paramname"> <em>requestedLocale</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const <a class="el" href="classLocale.html">Locale</a> & </td> <td class="paramname"> <em>validLocale</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td width="100%"><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p> Used internally by registraton to define the requested and valid locales. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>requestedLocale</em> </td><td>the requsted locale </td></tr> <tr><td valign="top"></td><td valign="top"><em>validLocale</em> </td><td>the valid locale </td></tr> </table> </dl> <dl compact><dt><b><a class="el" href="internal.html#_internal000184">Internal:</a></b></dt><dd>Do not use. This API is for interal use only. </dd></dl> <p> Reimplemented from <a class="el" href="classCollator.html#da9ebd7bfb43f664a1ac43dd7b78967d">Collator</a>. </div> </div><p> <hr>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="tblcoll_8h-source.html">tblcoll.h</a></ul> <hr size="1"><address style="align: right;"><small>Generated on Fri Sep 14 12:59:45 2007 for ICU 3.8 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address> </body> </html>