#include <usetiter.h>
Inheritance diagram for UnicodeSetIterator:
Public Member Functions | |
UnicodeSetIterator (const UnicodeSet &set) | |
Create an iterator over the given set. | |
UnicodeSetIterator () | |
Create an iterator over nothing. | |
virtual | ~UnicodeSetIterator () |
Destructor. | |
UBool | isString () const |
Returns true if the current element is a string. | |
UChar32 | getCodepoint () const |
Returns the current code point, if isString() returned false. | |
UChar32 | getCodepointEnd () const |
Returns the end of the current code point range, if isString() returned false and nextRange() was called. | |
const UnicodeString & | getString () const |
Returns the current string, if isString() returned true. | |
UBool | next () |
Returns the next element in the set, either a single code point or a string. | |
UBool | nextRange () |
Returns the next element in the set, either a code point range or a string. | |
void | reset (const UnicodeSet &set) |
Sets this iterator to visit the elements of the given set and resets it to the start of that set. | |
void | reset () |
Resets this iterator to the start of the set. | |
virtual UClassID | getDynamicClassID () const |
ICU "poor man's RTTI", returns a UClassID for the actual class. | |
Static Public Member Functions | |
UClassID | getStaticClassID () |
ICU "poor man's RTTI", returns a UClassID for this class. | |
Protected Types | |
enum | { IS_STRING = -1 } |
Value of codepoint if the iterator points to a string. More... | |
Protected Member Functions | |
UnicodeSetIterator (const UnicodeSetIterator &) | |
Copy constructor. | |
UnicodeSetIterator & | operator= (const UnicodeSetIterator &) |
Assignment operator. | |
virtual void | loadRange (int32_t range) |
Load range ICU 2.4. | |
Protected Attributes | |
UChar32 | codepoint |
Current code point, or the special value IS_STRING , if the iterator points to a string. | |
UChar32 | codepointEnd |
When iterating over ranges using nextRange() , codepointEnd contains the inclusive end of the iteration range, if codepoint != IS_STRING . | |
const UnicodeString * | string |
If codepoint == IS_STRING , then string points to the current string. | |
const UnicodeSet * | set |
The set ICU 2.4. | |
int32_t | endRange |
End range ICU 2.4. | |
int32_t | range |
Range ICU 2.4. | |
int32_t | endElement |
End element ICU 2.4. | |
int32_t | nextElement |
Next element ICU 2.4. | |
int32_t | nextString |
Next string ICU 2.4. | |
int32_t | stringCount |
String count ICU 2.4. |
It iterates over either code points or code point ranges. After all code points or ranges have been returned, it returns the multicharacter strings of the UnicodSet, if any.
To iterate over code points, use a loop like this:
UnicodeSetIterator it(set); while (set.next()) { if (set.isString()) { processString(set.getString()); } else { processCodepoint(set.getCodepoint()); } }
To iterate over code point ranges, use a loop like this:
UnicodeSetIterator it(set); while (it.nextRange()) { if (it.isString()) { processString(it.getString()); } else { processCodepointRange(it.getCodepoint(), it.getCodepointEnd()); } }
|
Value of
If |
|
Create an iterator over the given set.
The iterator is valid only so long as
|
|
Create an iterator over nothing.
|
|
Destructor. ICU 2.4 |
|
Copy constructor. Disallowed. ICU 2.4 |
|
Returns the current code point, if Otherwise returns an undefined result. ICU 2.4 |
|
Returns the end of the current code point range, if Otherwise returns an undefined result. ICU 2.4 |
|
ICU "poor man's RTTI", returns a UClassID for the actual class. ICU 2.4 Implements UObject.
|
|
ICU "poor man's RTTI", returns a UClassID for this class. ICU 2.4 |
|
Returns the current string, if Otherwise returns an undefined result. ICU 2.4 |
|
Returns true if the current element is a string.
If so, the caller can retrieve it with |
|
Returns the next element in the set, either a single code point or a string.
If there are no more elements in the set, return false. If
The order of iteration is all code points in sorted order, followed by all strings sorted order.
|
|
Returns the next element in the set, either a code point range or a string.
If there are no more elements in the set, return false. If
The order of iteration is all code points ranges in sorted order, followed by all strings sorted order. Ranges are disjoint and non-contiguous.
|
|
Assignment operator. Disallowed. ICU 2.4 |
|
Resets this iterator to the start of the set. ICU 2.4 |
|
Sets this iterator to visit the elements of the given set and resets it to the start of that set.
The iterator is valid only so long as
|
|
Current code point, or the special value ICU 2.4 |
|
When iterating over ranges using
If iterating over code points using |
|
If
If |