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 
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 UChar32 current32(void) const =0
Returns the code point the iterator currently refers to.
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 ...
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition: uobject.h:91
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 UChar current(void) const =0
Returns the code unit the iterator currently refers to.
virtual void getText(UnicodeString &result)=0
Copies the text under iteration into the UnicodeString referred to by "result".
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 ...
virtual UBool operator==(const ForwardCharacterIterator &that) const =0
Returns true when both iterators refer to the same character in the same character-storage object...
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:356
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.
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:332
virtual UClassID getDynamicClassID(void) const =0
Returns a UClassID for this ForwardCharacterIterator ("poor man's RTTI").
virtual UChar nextPostInc(void)=0
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
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
#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.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
Definition: utypes.h:357
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:293
C++ API: Character Iterator.
virtual int32_t hashCode(void) const =0
Generates a hash code for this 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:234