ICU 50.1.2  50.1.2
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 
96  virtual ~UCharCharacterIterator();
97 
107  operator=(const UCharCharacterIterator& that);
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
CharacterIterator & operator=(const CharacterIterator &that)
Assignment operator.
virtual UChar32 first32PostInc(void)
Sets the iterator to refer to the first code point in its iteration range, returns that code point...
virtual UChar setIndex(int32_t position)=0
Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator ref...
virtual UChar32 next32(void)=0
Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...
virtual UChar32 last32(void)=0
Sets the iterator to refer to the last code point in its iteration range, and returns that code unit...
virtual UChar last(void)=0
Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...
virtual UChar32 next32PostInc(void)=0
Gets the current code point for returning and advances to the next code point in the iteration range ...
virtual int32_t hashCode(void) const =0
Generates a hash code for this iterator.
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:96
virtual UChar current(void) const =0
Returns the code unit the iterator currently refers to.
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 cu...
virtual void getText(UnicodeString &result)=0
Copies the text under iteration into the UnicodeString referred to by "result".
virtual UClassID getDynamicClassID(void) const =0
Returns a UClassID for this ForwardCharacterIterator ("poor man's RTTI").
virtual UBool hasPrevious()=0
Returns FALSE if there are no more code units or code points before the current position in the itera...
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 cu...
virtual UChar next(void)=0
Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:129
virtual UBool hasNext()=0
Returns FALSE if there are no more code units or code points at or after the current position in the ...
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:356
A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...
Definition: uchriter.h:33
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:298
virtual UChar nextPostInc(void)=0
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
virtual CharacterIterator * clone(void) 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.
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:278
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:130
virtual UChar32 first32(void)=0
Sets the iterator to refer to the first code point in its iteration range, and returns that code unit...
const UChar * text
Protected member text.
Definition: uchriter.h:376
virtual UChar firstPostInc(void)
Sets the iterator to refer to the first code unit in its iteration range, returns that code unit...
virtual UChar first(void)=0
Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...
Abstract class that defines an API for forward-only iteration on text objects.
Definition: chariter.h:89
Basic definitions for ICU, for both C and C++ APIs.
virtual UBool operator==(const ForwardCharacterIterator &that) const =0
Returns true when both iterators refer to the same character in the same character-storage object...
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
Definition: utypes.h:357
virtual UChar32 current32(void) const =0
Returns the code point the iterator currently refers to.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:246
C++ API: Character Iterator.
virtual UChar32 previous32(void)=0
Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...
virtual UChar previous(void)=0
Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...
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 un...
EOrigin
Origin enumeration for the move() and move32() functions.
Definition: chariter.h:362
int8_t UBool
The ICU boolean type.
Definition: umachine.h:200