#include <coleitr.h>
Public Members | |||
![]() | ![]() | ~CollationElementIterator () | |
![]() | ![]() | Destructor. More... | |
![]() | ![]() | virtual bool_t | operator== (const CollationElementIterator& other) const |
![]() | ![]() | Returns true if "other" is the same as "this". More... | |
![]() | ![]() | virtual bool_t | operator!= (const CollationElementIterator& other) const |
![]() | ![]() | Returns true if "other" is not the same as "this". More... | |
![]() | ![]() | void | reset (void) |
![]() | ![]() | Resets the cursor to the beginning of the string. More... | |
![]() | ![]() | int32_t | next (UErrorCode& status) |
![]() | ![]() | Gets the ordering priority of the next character in the string. More... | |
![]() | ![]() | int32_t | previous (UErrorCode& status) |
![]() | ![]() | Get the ordering priority of the previous collation element in the string. More... | |
![]() | ![]() | int32_t | getMaxExpansion (int32_t order) const |
![]() | ![]() | Return the maximum length of any expansion sequences that end with the specified comparison order. More... | |
![]() | ![]() | int32_t | strengthOrder (int32_t order) const |
![]() | ![]() | Gets the comparison order in the desired strength. More... | |
![]() | ![]() | void | setText (const UnicodeString& str, UErrorCode& status) |
![]() | ![]() | Sets the source string. More... | |
![]() | ![]() | void | setText (CharacterIterator& str, UErrorCode& status) |
![]() | ![]() | Sets the source string. More... | |
![]() | ![]() | UTextOffset | getOffset (void) const |
![]() | ![]() | Gets the offset of the currently processed character in the source string. More... | |
![]() | ![]() | void | setOffset (UTextOffset newOffset, UErrorCode& status) |
![]() | ![]() | Sets the offset of the currently processed character in the source string. More... | |
![]() | ![]() | CollationElementIterator (const CollationElementIterator& other) | |
![]() | ![]() | Copy constructor. More... | |
Static Public Members | |||
![]() | ![]() | int32_t | primaryOrder (int32_t order) |
![]() | ![]() | Gets the primary order of a collation order. More... | |
![]() | ![]() | int32_t | secondaryOrder (int32_t order) |
![]() | ![]() | Gets the secondary order of a collation order. More... | |
![]() | ![]() | int32_t | tertiaryOrder (int32_t order) |
![]() | ![]() | Gets the tertiary order of a collation order. More... | |
![]() | ![]() | bool_t | isIgnorable (int32_t order) |
![]() | ![]() | Checks if a comparison order is ignorable. More... | |
![]() | ![]() | int32_t const | NULLORDER |
![]() | ![]() | NULLORDER indicates the iterator has consumed the last element. | |
Protected Members | |||
![]() | ![]() | CollationElementIterator ( const UnicodeString& sourceText, const RuleBasedCollator* order, UErrorCode& status) | |
![]() | ![]() | CollationElementIterator constructor. More... | |
![]() | ![]() | CollationElementIterator ( const CharacterIterator& sourceText, const RuleBasedCollator* order, UErrorCode& status) | |
![]() | ![]() | CollationElementIterator constructor. More... | |
![]() | ![]() | const CollationElementIterator& | operator= (const CollationElementIterator& other) |
![]() | ![]() | Assignment operator. More... | |
Friends | |||
![]() | ![]() | class | RuleBasedCollator |
Use the iterator to return the ordering priority of the positioned character. The ordering priority of a character, which we refer to as a key, defines how a character is collated in the given collation object. For example, consider the following in Spanish:
. "ca" -> the first key is key('c') and second key is key('a'). . "cha" -> the first key is key('ch') and second key is key('a').
. "ęb"-> the first key is key('a'), the second key is key('e'), and . the third key is key('b').
Example of the iterator usage: (without error checking)
. void CollationElementIterator_Example() . { . UnicodeString str = "This is a test"; . UErrorCode success = U_ZERO_ERROR; . RuleBasedCollator* rbc = . (RuleBasedCollator*) RuleBasedCollator::createInstance(success); . CollationElementIterator* c = . rbc->createCollationElementIterator( str ); . int32_t order = c->next(success); . int32_t primaryOrder = CollationElementIterator::primaryOrder( order ); . delete c; . delete rbc; . }
CollationElementIterator::next() returns the collation order of the next character based on the comparison level of the collator. A collation order consists of primary order, secondary order and tertiary order. The data type of the collation order is int32_t. The first 16 bits of a collation order is its primary order; the next 8 bits is the secondary order and the last 8 bits is the tertiary order.
CollationElementIterator::~CollationElementIterator () |
Destructor.
virtual bool_t CollationElementIterator::operator== (const CollationElementIterator & other) const [virtual]
|
Returns true if "other" is the same as "this".
virtual bool_t CollationElementIterator::operator!= (const CollationElementIterator & other) const [virtual]
|
Returns true if "other" is not the same as "this".
void CollationElementIterator::reset (void) |
Resets the cursor to the beginning of the string.
int32_t CollationElementIterator::next (UErrorCode & status) |
Gets the ordering priority of the next character in the string.
status | the error code status. |
int32_t CollationElementIterator::previous (UErrorCode & status) |
Get the ordering priority of the previous collation element in the string.
status | the error code status. |
int32_t CollationElementIterator::getMaxExpansion (int32_t order) const [inline]
|
Return the maximum length of any expansion sequences that end with the specified comparison order.
order | a collation order returned by previous or next. |
int32_t CollationElementIterator::strengthOrder (int32_t order) const |
Gets the comparison order in the desired strength.
Ignore the other differences.
order | The order value |
void CollationElementIterator::setText (const UnicodeString & str, UErrorCode & status) |
Sets the source string.
str | the source string. |
status | the error code status. |
void CollationElementIterator::setText (CharacterIterator & str, UErrorCode & status) |
Sets the source string.
str | the source character iterator. |
status | the error code status. |
UTextOffset CollationElementIterator::getOffset (void) const |
Gets the offset of the currently processed character in the source string.
void CollationElementIterator::setOffset (UTextOffset newOffset, UErrorCode & status) |
Sets the offset of the currently processed character in the source string.
newOffset | the new offset. |
status | the error code status. |
CollationElementIterator::CollationElementIterator (const CollationElementIterator & other) |
Copy constructor.
int32_t CollationElementIterator::primaryOrder (int32_t order) [inline, static]
|
Gets the primary order of a collation order.
order | the collation order |
int32_t CollationElementIterator::secondaryOrder (int32_t order) [inline, static]
|
Gets the secondary order of a collation order.
order | the collation order |
int32_t CollationElementIterator::tertiaryOrder (int32_t order) [inline, static]
|
Gets the tertiary order of a collation order.
order | the collation order |
bool_t CollationElementIterator::isIgnorable (int32_t order) [inline, static]
|
Checks if a comparison order is ignorable.
order | the collation order. |
CollationElementIterator::CollationElementIterator (const UnicodeString & sourceText, const RuleBasedCollator * order, UErrorCode & status) [protected]
|
CollationElementIterator constructor.
This takes the source string and the collation object. The cursor will walk thru the source string based on the predefined collation rules. If the source string is empty, NULLORDER will be returned on the calls to next().
sourceText | the source string. |
startOffset | the beginning offset of the string where the cursor starts the iterating. |
endOffset | the ending offset of the string where the cursor stops the iterating. |
order | the collation object. |
CollationElementIterator::CollationElementIterator (const CharacterIterator & sourceText, const RuleBasedCollator * order, UErrorCode & status) [protected]
|
CollationElementIterator constructor.
This takes the source string and the collation object. The cursor will walk thru the source string based on the predefined collation rules. If the source string is empty, NULLORDER will be returned on the calls to next().
sourceText | the source string. |
startOffset | the beginning offset of the string where the cursor starts the iterating. |
endOffset | the ending offset of the string where the cursor stops the iterating. |
order | the collation object. |
const CollationElementIterator & CollationElementIterator::operator= (const CollationElementIterator & other) [protected]
|
Assignment operator.
friend class RuleBasedCollator [friend]
|
int32_t const CollationElementIterator::NULLORDER [static]
|
NULLORDER indicates the iterator has consumed the last element.