#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 () |
Returns the current string, if isString() returned true. | |
UBool | next () |
Advances the iteration position to the next element in the set, which can be 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 | |
static 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. | |
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. | |
int32_t | endRange |
End range. | |
int32_t | range |
Range. | |
int32_t | endElement |
End element. | |
int32_t | nextElement |
Next element. | |
int32_t | nextString |
Next string. | |
int32_t | stringCount |
String count. | |
UnicodeString * | cpString |
Points to the string to use when the caller asks for a string and the current iteration item is a code point, not a string. |
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.
This class is not intended to be subclassed. Consider any fields or methods declared as "protected" to be private. The use of protected in this class is an artifact of history.
To iterate over code points and strings, use a loop like this:
UnicodeSetIterator it(set); while (set.next()) { processItem(set.getString()); }
Each item in the set is accessed as a string. Set elements consisting of single code points are returned as strings containing just the one code point.
To iterate over code point ranges, instead of individual code points, use a loop like this:
UnicodeSetIterator it(set); while (it.nextRange()) { if (it.isString()) { processString(it.getString()); } else { processCodepointRange(it.getCodepoint(), it.getCodepointEnd()); } }
Definition at line 61 of file usetiter.h.
|
Value of
If
Definition at line 71 of file usetiter.h. |
|
Create an iterator over the given set.
The iterator is valid only so long as
|
|
Create an iterator over nothing.
|
|
Destructor.
|
|
Copy constructor. Disallowed.
|
|
Returns the current code point, if Otherwise returns an undefined result.
Definition at line 307 of file usetiter.h. References codepoint. |
|
Returns the end of the current code point range, if Otherwise returns an undefined result.
Definition at line 311 of file usetiter.h. References codepointEnd. |
|
ICU "poor man's RTTI", returns a UClassID for the actual class.
Implements UObject. |
|
ICU "poor man's RTTI", returns a UClassID for this class.
|
|
Returns the current string, if If the current iteration item is a code point, a UnicodeString containing that single code point is returned. Ownership of the returned string remains with the iterator. The string is guaranteed to remain valid only until the iterator is advanced to the next item, or until the iterator is deleted.
|
|
Returns true if the current element is a string.
If so, the caller can retrieve it with
Definition at line 303 of file usetiter.h. References codepoint. |
|
Load range.
|
|
Advances the iteration position to the next element in the set, which can be 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. Do not mix calls to
|
|
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. The value returned from
|
|
Assignment operator. Disallowed.
|
|
Resets this iterator to the start of the set.
|
|
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
Definition at line 78 of file usetiter.h. Referenced by getCodepoint(), and isString(). |
|
When iterating over ranges using
If iterating over code points using
Definition at line 89 of file usetiter.h. Referenced by getCodepointEnd(). |
|
Points to the string to use when the caller asks for a string and the current iteration item is a code point, not a string.
Definition at line 284 of file usetiter.h. |
|
End element.
Definition at line 264 of file usetiter.h. |
|
End range.
Definition at line 256 of file usetiter.h. |
|
Next element.
Definition at line 268 of file usetiter.h. |
|
Next string.
Definition at line 273 of file usetiter.h. |
|
Range.
Definition at line 260 of file usetiter.h. |
|
The set.
Definition at line 252 of file usetiter.h. |
|
If
If
Definition at line 97 of file usetiter.h. |
|
String count.
Definition at line 277 of file usetiter.h. |