icu::CollationElementIterator Class Reference
The CollationElementIterator class is used as an iterator to walk through each character of an international string.
More...
#include <coleitr.h>
Detailed Description
The CollationElementIterator class is used as an iterator to walk through each character of an international string.
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 Slovak and in traditional Spanish collation:
"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'). And in German phonebook collation,
"æb"-> the first key is key('a'), the second key is key('e'), and
the third key is key('b'). The key of a character, is an integer composed of primary order(short), secondary order(char), and tertiary order(char). Java strictly defines the size and signedness of its primitive data types. Therefore, the static functions primaryOrder(), secondaryOrder(), and tertiaryOrder() return int32_t to ensure the correctness of the key value.
Example of the iterator usage: (without error checking)
The method next() returns the collation order of the next character based on the comparison level of the collator. The method previous() returns the collation order of the previous character based on the comparison level of the collator. The Collation Element Iterator moves only in one direction between calls to reset(), setOffset(), or setText(). That is, next() and previous() can not be inter-used. Whenever previous() is to be called after next() or vice versa, reset(), setOffset() or setText() has to be called first to reset the status, shifting pointers to either the end or the start of the string (reset() or setText()), or the specified position (setOffset()). Hence at the next call of next() or previous(), the first or last collation order, or collation order at the spefcifieid position will be returned. If a change of direction is done without one of these calls, the result is undefined.
The result of a forward iterate (next()) and reversed result of the backward iterate (previous()) on the same string are equivalent, if collation orders with the value 0 are ignored. 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.
Note, CollationElementIterator should not be subclassed.
- See also:
- Collator
-
RuleBasedCollator
- Version:
- 1.8 Jan 16 2001
Definition at line 116 of file coleitr.h.
Member Enumeration Documentation
- Enumerator:
| NULLORDER |
NULLORDER indicates that an error has occured while processing.
- Stable:
- ICU 2.0
|
Definition at line 121 of file coleitr.h.
Constructor & Destructor Documentation
Copy constructor.
- Parameters:
-
| other | the object to be copied from |
- Stable:
- ICU 2.0
| virtual icu::CollationElementIterator::~CollationElementIterator |
( |
|
) |
[virtual] |
Member Function Documentation
| virtual UClassID icu::CollationElementIterator::getDynamicClassID |
( |
|
) |
const [virtual] |
ICU "poor man's RTTI", returns a UClassID for the actual class.
- Stable:
- ICU 2.2
Reimplemented from icu::UObject.
| int32_t icu::CollationElementIterator::getMaxExpansion |
( |
int32_t |
order |
) |
const |
Return the maximum length of any expansion sequences that end with the specified comparison order.
- Parameters:
-
| order | a collation order returned by previous or next. |
- Returns:
- 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
- Stable:
- ICU 2.0
| int32_t icu::CollationElementIterator::getOffset |
( |
void |
|
) |
const |
Gets the offset of the currently processed character in the source string.
- Returns:
- the offset of the character.
- Stable:
- ICU 2.0
| static UClassID icu::CollationElementIterator::getStaticClassID |
( |
|
) |
[static] |
ICU "poor man's RTTI", returns a UClassID for this class.
- Stable:
- ICU 2.2
| UBool icu::CollationElementIterator::isIgnorable |
( |
int32_t |
order |
) |
[inline, static] |
Checks if a comparison order is ignorable.
- Parameters:
-
| order | the collation order. |
- Returns:
- TRUE if a character is ignorable, FALSE otherwise.
- Stable:
- ICU 2.0
Definition at line 395 of file coleitr.h.
| int32_t icu::CollationElementIterator::next |
( |
UErrorCode & |
status |
) |
|
Gets the ordering priority of the next character in the string.
- Parameters:
-
| status | the error code status. |
- Returns:
- the next character's ordering. otherwise returns NULLORDER if an error has occured or if the end of string has been reached
- Stable:
- ICU 2.0
Returns true if "other" is not the same as "this".
- Parameters:
-
| other | the object to be compared |
- Returns:
- true if "other" is not the same as "this"
- Stable:
- ICU 2.0
Returns true if "other" is the same as "this".
- Parameters:
-
| other | the object to be compared |
- Returns:
- true if "other" is the same as "this"
- Stable:
- ICU 2.0
| int32_t icu::CollationElementIterator::previous |
( |
UErrorCode & |
status |
) |
|
Get the ordering priority of the previous collation element in the string.
- Parameters:
-
| status | the error code status. |
- Returns:
- the previous element's ordering. otherwise returns NULLORDER if an error has occured or if the start of string has been reached
- Stable:
- ICU 2.0
| int32_t icu::CollationElementIterator::primaryOrder |
( |
int32_t |
order |
) |
[inline, static] |
Gets the primary order of a collation order.
- Parameters:
-
| order | the collation order |
- Returns:
- the primary order of a collation order.
- Stable:
- ICU 2.0
Definition at line 380 of file coleitr.h.
| void icu::CollationElementIterator::reset |
( |
void |
|
) |
|
Resets the cursor to the beginning of the string.
- Stable:
- ICU 2.0
| int32_t icu::CollationElementIterator::secondaryOrder |
( |
int32_t |
order |
) |
[inline, static] |
Gets the secondary order of a collation order.
- Parameters:
-
| order | the collation order |
- Returns:
- the secondary order of a collation order.
- Stable:
- ICU 2.0
Definition at line 385 of file coleitr.h.
| void icu::CollationElementIterator::setOffset |
( |
int32_t |
newOffset, |
|
|
UErrorCode & |
status | |
|
) |
| | |
Sets the offset of the currently processed character in the source string.
- Parameters:
-
| newOffset | the new offset. |
| status | the error code status. |
- Returns:
- the offset of the character.
- Stable:
- ICU 2.0
Sets the source string.
- Parameters:
-
| str | the source character iterator. |
| status | the error code status. |
- Stable:
- ICU 2.0
Sets the source string.
- Parameters:
-
| str | the source string. |
| status | the error code status. |
- Stable:
- ICU 2.0
| int32_t icu::CollationElementIterator::strengthOrder |
( |
int32_t |
order |
) |
const |
Gets the comparison order in the desired strength.
Ignore the other differences.
- Parameters:
-
- Stable:
- ICU 2.0
| int32_t icu::CollationElementIterator::tertiaryOrder |
( |
int32_t |
order |
) |
[inline, static] |
Gets the tertiary order of a collation order.
- Parameters:
-
| order | the collation order |
- Returns:
- the tertiary order of a collation order.
- Stable:
- ICU 2.0
Definition at line 390 of file coleitr.h.
| const UCollationElements* icu::CollationElementIterator::toUCollationElements |
( |
|
) |
const [inline] |
The documentation for this class was generated from the following file: