|
ICU 67.1
67.1
|
Abstract class that defines an API for iteration on text objects. More...
#include <chariter.h>
Public Types | |
| enum | EOrigin { kStart , kCurrent , kEnd } |
| Origin enumeration for the move() and move32() functions. More... | |
Public Types inherited from icu::ForwardCharacterIterator | |
| enum | { DONE = 0xffff } |
| Value returned by most of ForwardCharacterIterator's functions when the iterator has reached the limits of its iteration. More... | |
Public Member Functions | |
| virtual | ~CharacterIterator () |
| Destructor. More... | |
| virtual CharacterIterator * | clone () const =0 |
| Returns a pointer to a new CharacterIterator of the same concrete class as this one, and referring to the same character in the same text-storage object as this one. More... | |
| virtual char16_t | first (void)=0 |
| Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit. More... | |
| virtual char16_t | firstPostInc (void) |
| Sets the iterator to refer to the first code unit in its iteration range, returns that code unit, and moves the position to the second code unit. More... | |
| virtual UChar32 | first32 (void)=0 |
| Sets the iterator to refer to the first code point in its iteration range, and returns that code unit, This can be used to begin an iteration with next32(). More... | |
| virtual UChar32 | first32PostInc (void) |
| Sets the iterator to refer to the first code point in its iteration range, returns that code point, and moves the position to the second code point. More... | |
| int32_t | setToStart () |
| Sets the iterator to refer to the first code unit or code point in its iteration range. More... | |
| virtual char16_t | last (void)=0 |
| Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit. More... | |
| virtual UChar32 | last32 (void)=0 |
| Sets the iterator to refer to the last code point in its iteration range, and returns that code unit. More... | |
| int32_t | setToEnd () |
| Sets the iterator to the end of its iteration range, just behind the last code unit or code point. More... | |
| virtual char16_t | setIndex (int32_t position)=0 |
| Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator refers to, and returns that code unit. More... | |
| virtual UChar32 | setIndex32 (int32_t position)=0 |
| Sets the iterator to refer to the beginning of the code point that contains the "position"-th code unit in the text-storage object the iterator refers to, and returns that code point. More... | |
| virtual char16_t | current (void) const =0 |
| Returns the code unit the iterator currently refers to. More... | |
| virtual UChar32 | current32 (void) const =0 |
| Returns the code point the iterator currently refers to. More... | |
| virtual char16_t | next (void)=0 |
| Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit. More... | |
| virtual UChar32 | next32 (void)=0 |
| Advances to the next code point in the iteration range (toward endIndex()), and returns that code point. More... | |
| virtual char16_t | previous (void)=0 |
| Advances to the previous code unit in the iteration range (toward startIndex()), and returns that code unit. More... | |
| virtual UChar32 | previous32 (void)=0 |
| Advances to the previous code point in the iteration range (toward startIndex()), and returns that code point. More... | |
| virtual UBool | hasPrevious ()=0 |
| Returns FALSE if there are no more code units or code points before the current position in the iteration range. More... | |
| int32_t | startIndex (void) const |
| Returns the numeric index in the underlying text-storage object of the character returned by first(). More... | |
| int32_t | endIndex (void) const |
| Returns the numeric index in the underlying text-storage object of the position immediately BEYOND the character returned by last(). More... | |
| int32_t | getIndex (void) const |
| Returns the numeric index in the underlying text-storage object of the character the iterator currently refers to (i.e., the character returned by current()). More... | |
| int32_t | getLength () const |
| Returns the length of the entire text in the underlying text-storage object. More... | |
| virtual int32_t | move (int32_t delta, EOrigin origin)=0 |
| Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. More... | |
| virtual int32_t | move32 (int32_t delta, EOrigin origin)=0 |
| Moves the current position relative to the start or end of the iteration range, or relative to the current position itself. More... | |
| virtual void | getText (UnicodeString &result)=0 |
| Copies the text under iteration into the UnicodeString referred to by "result". More... | |
Public Member Functions inherited from icu::ForwardCharacterIterator | |
| virtual | ~ForwardCharacterIterator () |
| Destructor. More... | |
| virtual UBool | operator== (const ForwardCharacterIterator &that) const =0 |
| Returns true when both iterators refer to the same character in the same character-storage object. More... | |
| UBool | operator!= (const ForwardCharacterIterator &that) const |
| Returns true when the iterators refer to different text-storage objects, or to different characters in the same text-storage object. More... | |
| virtual int32_t | hashCode (void) const =0 |
| Generates a hash code for this iterator. More... | |
| virtual UClassID | getDynamicClassID (void) const =0 |
| Returns a UClassID for this ForwardCharacterIterator ("poor man's
RTTI"). More... | |
| virtual char16_t | nextPostInc (void)=0 |
| Gets the current code unit for returning and advances to the next code unit in the iteration range (toward endIndex()). More... | |
| virtual UChar32 | next32PostInc (void)=0 |
| Gets the current code point for returning and advances to the next code point in the iteration range (toward endIndex()). More... | |
| virtual UBool | hasNext ()=0 |
| Returns FALSE if there are no more code units or code points at or after the current position in the iteration range. More... | |
Public Member Functions inherited from icu::UObject | |
| virtual | ~UObject () |
| Destructor. More... | |
Protected Member Functions | |
| CharacterIterator () | |
| Empty constructor. More... | |
| CharacterIterator (int32_t length) | |
| Constructor, just setting the length field in this base class. More... | |
| CharacterIterator (int32_t length, int32_t position) | |
| Constructor, just setting the length and position fields in this base class. More... | |
| CharacterIterator (int32_t length, int32_t textBegin, int32_t textEnd, int32_t position) | |
| Constructor, just setting the length, start, end, and position fields in this base class. More... | |
| CharacterIterator (const CharacterIterator &that) | |
| Copy constructor. More... | |
| CharacterIterator & | operator= (const CharacterIterator &that) |
| Assignment operator. More... | |
Protected Member Functions inherited from icu::ForwardCharacterIterator | |
| ForwardCharacterIterator () | |
| Default constructor to be overridden in the implementing class. More... | |
| ForwardCharacterIterator (const ForwardCharacterIterator &other) | |
| Copy constructor to be overridden in the implementing class. More... | |
| ForwardCharacterIterator & | operator= (const ForwardCharacterIterator &) |
| Assignment operator to be overridden in the implementing class. More... | |
Protected Attributes | |
| int32_t | textLength |
| Base class text length field. More... | |
| int32_t | pos |
| Base class field for the current position. More... | |
| int32_t | begin |
| Base class field for the start of the iteration range. More... | |
| int32_t | end |
| Base class field for the end of the iteration range. More... | |
Abstract class that defines an API for iteration on text objects.
This is an interface for forward and backward iteration and random access into a text object.
The API provides backward compatibility to the Java and older ICU CharacterIterator classes but extends them significantly:
See ForwardCharacterIterator for examples for using the new forward iteration functions. For backward iteration, there is also a hasPrevious() function that can be used analogously to hasNext(). The old functionsiv claml#a09fff5c3b5a5b61dcf2f03a2232773401b570">More...