<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ICU 3.6: coleitr.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>coleitr.h</h1><a href="coleitr_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment"> ******************************************************************************</span> <a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 1997-2005, International Business Machines</span> <a name="l00004"></a>00004 <span class="comment"> * Corporation and others. All Rights Reserved.</span> <a name="l00005"></a>00005 <span class="comment"> ******************************************************************************</span> <a name="l00006"></a>00006 <span class="comment"> */</span> <a name="l00007"></a>00007 <a name="l00027"></a>00027 <span class="preprocessor">#ifndef COLEITR_H</span> <a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define COLEITR_H</span> <a name="l00029"></a>00029 <span class="preprocessor"></span> <a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span> <a name="l00031"></a>00031 <a name="l00037"></a>00037 <span class="preprocessor">#if !UCONFIG_NO_COLLATION</span> <a name="l00038"></a>00038 <span class="preprocessor"></span> <a name="l00039"></a>00039 <span class="preprocessor">#include "<a class="code" href="uobject_8h.html">unicode/uobject.h</a>"</span> <a name="l00040"></a>00040 <span class="preprocessor">#include "<a class="code" href="tblcoll_8h.html">unicode/tblcoll.h</a>"</span> <a name="l00041"></a>00041 <span class="preprocessor">#include "<a class="code" href="ucoleitr_8h.html">unicode/ucoleitr.h</a>"</span> <a name="l00042"></a>00042 <a name="l00048"></a><a class="code" href="coleitr_8h.html#a45a9d1902978f8ff999d6d5f7863834">00048</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="coleitr_8h.html#a45a9d1902978f8ff999d6d5f7863834">UCollationElements</a> <a class="code" href="coleitr_8h.html#a45a9d1902978f8ff999d6d5f7863834">UCollationElements</a>; <a name="l00049"></a>00049 <a name="l00050"></a>00050 <a class="code" href="umachine_8h.html#ec4a51c37f4e3f3d7e5c42e6e3eafa63">U_NAMESPACE_BEGIN</a> <a name="l00051"></a>00051 <a name="l00119"></a><a class="code" href="classCollationElementIterator.html">00119</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#3a1f02ad21823a0b4e4f69d4b82dee4b">U_I18N_API</a> <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a> : <span class="keyword">public</span> <a class="code" href="classUObject.html">UObject</a> { <a name="l00120"></a>00120 <span class="keyword">public</span>: <a name="l00121"></a>00121 <a name="l00122"></a>00122 <span class="comment">// CollationElementIterator public data member ------------------------------</span> <a name="l00123"></a>00123 <a name="l00124"></a>00124 <span class="keyword">enum</span> { <a name="l00129"></a>00129 NULLORDER = (<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a>)0xffffffff <a name="l00130"></a>00130 }; <a name="l00131"></a>00131 <a name="l00132"></a>00132 <span class="comment">// CollationElementIterator public constructor/destructor -------------------</span> <a name="l00133"></a>00133 <a name="l00140"></a>00140 <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>(<span class="keyword">const</span> <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>& other); <a name="l00141"></a>00141 <a name="l00146"></a>00146 <span class="keyword">virtual</span> ~<a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>(); <a name="l00147"></a>00147 <a name="l00148"></a>00148 <span class="comment">// CollationElementIterator public methods ----------------------------------</span> <a name="l00149"></a>00149 <a name="l00157"></a>00157 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> operator==(<span class="keyword">const</span> <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>& other) <span class="keyword">const</span>; <a name="l00158"></a>00158 <a name="l00166"></a>00166 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> operator!=(<span class="keyword">const</span> <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>& other) <span class="keyword">const</span>; <a name="l00167"></a>00167 <a name="l00172"></a>00172 <span class="keywordtype">void</span> reset(<span class="keywordtype">void</span>); <a name="l00173"></a>00173 <a name="l00181"></a>00181 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> next(<a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00182"></a>00182 <a name="l00190"></a>00190 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> previous(<a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00191"></a>00191 <a name="l00198"></a>00198 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> primaryOrder(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order); <a name="l00199"></a>00199 <a name="l00206"></a>00206 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> secondaryOrder(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order); <a name="l00207"></a>00207 <a name="l00214"></a>00214 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> tertiaryOrder(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order); <a name="l00215"></a>00215 <a name="l00225"></a>00225 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> getMaxExpansion(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order) <span class="keyword">const</span>; <a name="l00226"></a>00226 <a name="l00233"></a>00233 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> strengthOrder(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order) <span class="keyword">const</span>; <a name="l00234"></a>00234 <a name="l00241"></a>00241 <span class="keywordtype">void</span> setText(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& str, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00242"></a>00242 <a name="l00249"></a>00249 <span class="keywordtype">void</span> setText(<a class="code" href="classCharacterIterator.html">CharacterIterator</a>& str, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00250"></a>00250 <a name="l00257"></a>00257 <span class="keyword">static</span> <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> isIgnorable(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order); <a name="l00258"></a>00258 <a name="l00264"></a>00264 <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> getOffset(<span class="keywordtype">void</span>) <span class="keyword">const</span>; <a name="l00265"></a>00265 <a name="l00273"></a>00273 <span class="keywordtype">void</span> setOffset(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> newOffset, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00274"></a>00274 <a name="l00280"></a>00280 <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#452dc3c7d14eb1a1837ae1aa0b2d6724">UClassID</a> <a class="code" href="classUObject.html#60f3fba82b9d7edfe3d3f9d423ab826d">getDynamicClassID</a>() <span class="keyword">const</span>; <a name="l00281"></a>00281 <a name="l00287"></a>00287 <span class="keyword">static</span> <a class="code" href="utypes_8h.html#452dc3c7d14eb1a1837ae1aa0b2d6724">UClassID</a> <a class="code" href="platform_8h.html#d665df105e679e1428e48dc5cb90a756">U_EXPORT2</a> getStaticClassID(); <a name="l00288"></a>00288 <a name="l00289"></a>00289 <span class="keyword">protected</span>: <a name="l00290"></a>00290 <a name="l00291"></a>00291 <span class="comment">// CollationElementIterator protected constructors --------------------------</span> <a name="l00295"></a><a class="code" href="classCollationElementIterator.html#e9680b0b8910a83e85412b2b5c096eb3">00295</a> <span class="comment"></span> <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classRuleBasedCollator.html">RuleBasedCollator</a>; <a name="l00296"></a>00296 <a name="l00307"></a>00307 <a class="code" href="classRuleBasedCollator.html#31d832650fc3129204feabcfdd45af21">CollationElementIterator</a>(<span class="keyword">const</span> <a class="code" href="classUnicodeString.html">UnicodeString</a>& sourceText, <a name="l00308"></a>00308 <span class="keyword">const</span> <a class="code" href="classRuleBasedCollator.html">RuleBasedCollator</a>* order, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00309"></a>00309 <a name="l00320"></a>00320 <a class="code" href="classRuleBasedCollator.html#31d832650fc3129204feabcfdd45af21">CollationElementIterator</a>(<span class="keyword">const</span> <a class="code" href="classCharacterIterator.html">CharacterIterator</a>& sourceText, <a name="l00321"></a>00321 <span class="keyword">const</span> <a class="code" href="classRuleBasedCollator.html">RuleBasedCollator</a>* order, <a class="code" href="utypes_8h.html#863c11989634c998849cc946d04dfabe">UErrorCode</a>& status); <a name="l00322"></a>00322 <a name="l00323"></a>00323 <span class="comment">// CollationElementIterator protected methods -------------------------------</span> <a name="l00324"></a>00324 <a name="l00331"></a>00331 <span class="keyword">const</span> <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>& <a name="l00332"></a>00332 <a class="code" href="classRuleBasedCollator.html#0045071137911bc31e154ac41d4bf643">operator=</a>(<span class="keyword">const</span> <a class="code" href="classCollationElementIterator.html">CollationElementIterator</a>& other); <a name="l00333"></a>00333 <a name="l00334"></a>00334 <span class="keyword">private</span>: <a name="l00335"></a>00335 <a class="code" href="classRuleBasedCollator.html#31d832650fc3129204feabcfdd45af21">CollationElementIterator</a>(); <span class="comment">// default constructor not implemented</span> <a name="l00336"></a>00336 <a name="l00337"></a>00337 <span class="comment">// CollationElementIterator private data members ----------------------------</span> <a name="l00338"></a>00338 <a name="l00342"></a>00342 <a class="code" href="coleitr_8h.html#a45a9d1902978f8ff999d6d5f7863834">UCollationElements</a> *m_data_; <a name="l00343"></a>00343 <a name="l00347"></a>00347 <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> isDataOwned_; <a name="l00348"></a>00348 <a name="l00349"></a>00349 }; <a name="l00350"></a>00350 <a name="l00351"></a>00351 <span class="comment">// CollationElementIterator inline method defination --------------------------</span> <a name="l00352"></a>00352 <a name="l00358"></a><a class="code" href="classCollationElementIterator.html#ad182d099872dc80702fb54a6aa48082">00358</a> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="classCollationElementIterator.html#ad182d099872dc80702fb54a6aa48082">CollationElementIterator::primaryOrder</a>(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order) <a name="l00359"></a>00359 { <a name="l00360"></a>00360 order &= RuleBasedCollator::PRIMARYORDERMASK; <a name="l00361"></a>00361 <span class="keywordflow">return</span> (order >> RuleBasedCollator::PRIMARYORDERSHIFT); <a name="l00362"></a>00362 } <a name="l00363"></a>00363 <a name="l00369"></a><a class="code" href="classCollationElementIterator.html#598887c87ead2c00935316af1b2c0cb1">00369</a> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="classCollationElementIterator.html#598887c87ead2c00935316af1b2c0cb1">CollationElementIterator::secondaryOrder</a>(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order) <a name="l00370"></a>00370 { <a name="l00371"></a>00371 order = order & RuleBasedCollator::SECONDARYORDERMASK; <a name="l00372"></a>00372 <span class="keywordflow">return</span> (order >> RuleBasedCollator::SECONDARYORDERSHIFT); <a name="l00373"></a>00373 } <a name="l00374"></a>00374 <a name="l00380"></a><a class="code" href="classCollationElementIterator.html#51398220c7e79b8ec5b29578f497322c">00380</a> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="classCollationElementIterator.html#51398220c7e79b8ec5b29578f497322c">CollationElementIterator::tertiaryOrder</a>(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order) <a name="l00381"></a>00381 { <a name="l00382"></a>00382 <span class="keywordflow">return</span> (order &= RuleBasedCollator::TERTIARYORDERMASK); <a name="l00383"></a>00383 } <a name="l00384"></a>00384 <a name="l00385"></a><a class="code" href="classCollationElementIterator.html#313d25ea98de1d597b0de4236013f45c">00385</a> <span class="keyword">inline</span> <a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> <a class="code" href="classCollationElementIterator.html#313d25ea98de1d597b0de4236013f45c">CollationElementIterator::getMaxExpansion</a>(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order)<span class="keyword"> const</span> <a name="l00386"></a>00386 <span class="keyword"></span>{ <a name="l00387"></a>00387 <span class="keywordflow">return</span> <a class="code" href="ucoleitr_8h.html#6b28589a3aab4b2c8caf525661c5820f">ucol_getMaxExpansion</a>(m_data_, (<a class="code" href="pwin32_8h.html#6dffdaa3be697bee6b7286a8120d3638">uint32_t</a>)order); <a name="l00388"></a>00388 } <a name="l00389"></a>00389 <a name="l00390"></a><a class="code" href="classCollationElementIterator.html#746bfe912f40d01ef9373e9a4f84ca64">00390</a> <span class="keyword">inline</span> <a class="code" href="umachine_8h.html#d373ce262c37cc047b0df2ad7b5dbba7">UBool</a> <a class="code" href="classCollationElementIterator.html#746bfe912f40d01ef9373e9a4f84ca64">CollationElementIterator::isIgnorable</a>(<a class="code" href="pwin32_8h.html#f03f47ee300d26bee7dd521b1169f394">int32_t</a> order) <a name="l00391"></a>00391 { <a name="l00392"></a>00392 <span class="keywordflow">return</span> (<a class="code" href="classCollationElementIterator.html#ad182d099872dc80702fb54a6aa48082">primaryOrder</a>(order) == RuleBasedCollator::PRIMIGNORABLE); <a name="l00393"></a>00393 } <a name="l00394"></a>00394 <a name="l00395"></a>00395 <a class="code" href="umachine_8h.html#951037cc9951ac3c70b527f8137f9f74">U_NAMESPACE_END</a> <a name="l00396"></a>00396 <a name="l00397"></a>00397 <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_COLLATION */</span> <a name="l00398"></a>00398 <a name="l00399"></a>00399 <span class="preprocessor">#endif</span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Dec 13 17:29:51 2011 for ICU 3.6 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>