ICU 57.1  57.1
uchriter.h
Go to the documentation of this file.
1 /*
2 **********************************************************************
3 * Copyright (C) 1998-2005, International Business Machines
4 * Corporation and others. All Rights Reserved.
5 **********************************************************************
6 */
7 
8 #ifndef UCHRITER_H
9 #define UCHRITER_H
10 
11 #include "unicode/utypes.h"
12 #include "unicode/chariter.h"
13 
20 
34 public:
44  UCharCharacterIterator(const UChar* textPtr, int32_t length);
45 
59  UCharCharacterIterator(const UChar* textPtr, int32_t length,
60  int32_t position);
61 
78  UCharCharacterIterator(const UChar* textPtr, int32_t length,
79  int32_t textBegin,
80  int32_t textEnd,
81  int32_t position);
82 
91 
97 
108 
117  virtual UBool operator==(const ForwardCharacterIterator& that) const;
118 
124  virtual int32_t hashCode(void) const;
125 
133  virtual CharacterIterator* clone(void) const;
134 
142  virtual UChar first(void);
143 
152  virtual UChar firstPostInc(void);
153 
163  virtual UChar32 first32(void);
164 
173  virtual UChar32 first32PostInc(void);
174 
182  virtual UChar last(void);
183 
191  virtual UChar32 last32(void);
192 
201  virtual UChar setIndex(int32_t position);
202 
214  virtual UChar32 setIndex32(int32_t position);
215 
221  virtual UChar current(void) const;
222 
228  virtual UChar32 current32(void) const;
229 
237  virtual UChar next(void);
238 
247  virtual UChar nextPostInc(void);
248 
259  virtual UChar32 next32(void);
260 
269  virtual UChar32 next32PostInc(void);
270 
280  virtual UBool hasNext();
281 
289  virtual UChar previous(void);
290 
298  virtual UChar32 previous32(void);
299 
309  virtual UBool hasPrevious();
310 
322  virtual int32_t move(int32_t delta, EOrigin origin);
323 
335  virtual int32_t move32(int32_t delta, EOrigin origin);
336 
341  void setText(const UChar* newText, int32_t newTextLength);
342 
350  virtual void getText(UnicodeString& result);
351 
357  static UClassID U_EXPORT2 getStaticClassID(void);
358 
364  virtual UClassID getDynamicClassID(void) const;
365 
366 protected:
376  const UChar* text;
377 
378 };
379 
381 #endif
C++ API: Character Iterator.
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:356
EOrigin
Origin enumeration for the move() and move32() functions.
Definition: chariter.h:362
Abstract class that defines an API for forward-only iteration on text objects.
Definition: chariter.h:89
A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...
Definition: uchriter.h:33
virtual UBool operator==(const ForwardCharacterIterator &that) const
Returns true if the iterators iterate over the same range of the same string and are pointing at the ...
virtual int32_t hashCode(void) const
Generates a hash code for this iterator.
virtual void getText(UnicodeString &result)
Copies the UChar array under iteration into the UnicodeString referred to by "result".
virtual UChar next(void)
Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...
virtual UChar firstPostInc(void)
Sets the iterator to refer to the first code unit in its iteration range, returns that code unit,...
virtual int32_t move32(int32_t delta, EOrigin origin)
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
UCharCharacterIterator(const UChar *textPtr, int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)
Create an iterator over the UChar array referred to by "textPtr".
UCharCharacterIterator(const UChar *textPtr, int32_t length, int32_t position)
Create an iterator over the UChar array referred to by "textPtr".
virtual UChar current(void) const
Returns the code unit the iterator currently refers to.
virtual UClassID getDynamicClassID(void) const
Return a class ID for this object (not really public)
virtual UChar last(void)
Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit.
virtual UChar first(void)
Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit.
virtual UChar32 next32(void)
Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...
virtual int32_t move(int32_t delta, EOrigin origin)
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
virtual UChar32 last32(void)
Sets the iterator to refer to the last code point in its iteration range, and returns that code unit.
UCharCharacterIterator & operator=(const UCharCharacterIterator &that)
Assignment operator.
virtual UBool hasPrevious()
Returns FALSE if there are no more code units or code points before the current position in the itera...
static UClassID getStaticClassID(void)
Return a class ID for this class (not really public)
virtual UChar32 first32(void)
Sets the iterator to refer to the first code point in its iteration range, and returns that code unit...
virtual ~UCharCharacterIterator()
Destructor.
virtual UChar nextPostInc(void)
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
UCharCharacterIterator(const UCharCharacterIterator &that)
Copy constructor.
virtual UChar setIndex(int32_t position)
Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator ref...
virtual UChar32 first32PostInc(void)
Sets the iterator to refer to the first code point in its iteration range, returns that code point,...
virtual UChar32 previous32(void)
Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...
const UChar * text
Protected member text.
Definition: uchriter.h:376
virtual UChar32 setIndex32(int32_t position)
Sets the iterator to refer to the beginning of the code point that contains the "position"-th code un...
UCharCharacterIterator()
Protected constructor.
virtual UChar previous(void)
Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...
UCharCharacterIterator(const UChar *textPtr, int32_t length)
Create an iterator over the UChar array referred to by "textPtr".
virtual UChar32 current32(void) const
Returns the code point the iterator currently refers to.
void setText(const UChar *newText, int32_t newTextLength)
Sets the iterator to iterate over a new range of text.
virtual CharacterIterator * clone(void) const
Returns a new UCharCharacterIterator referring to the same character in the same range of the same st...
virtual UBool hasNext()
Returns FALSE if there are no more code units or code points at or after the current position in the ...
virtual UChar32 next32PostInc(void)
Gets the current code point for returning and advances to the next code point in the iteration range ...
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:294
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:332
int8_t UBool
The ICU boolean type.
Definition: umachine.h:234
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition: umachine.h:312
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:91
Basic definitions for ICU, for both C and C++ APIs.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition: utypes.h:357
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129