ICU 58.2  58.2
uchriter.h
Go to the documentation of this file.
1 // Copyright (C) 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (C) 1998-2005, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 **********************************************************************
8 */
9 
10 #ifndef UCHRITER_H
11 #define UCHRITER_H
12 
13 #include "unicode/utypes.h"
14 #include "unicode/chariter.h"
15 
22 
36 public:
46  UCharCharacterIterator(const UChar* textPtr, int32_t length);
47 
61  UCharCharacterIterator(const UChar* textPtr, int32_t length,
62  int32_t position);
63 
80  UCharCharacterIterator(const UChar* textPtr, int32_t length,
81  int32_t textBegin,
82  int32_t textEnd,
83  int32_t position);
84 
93 
98  virtual ~UCharCharacterIterator();
99 
109  operator=(const UCharCharacterIterator& that);
110 
119  virtual UBool operator==(const ForwardCharacterIterator& that) const;
120 
126  virtual int32_t hashCode(void) const;
127 
135  virtual CharacterIterator* clone(void) const;
136 
144  virtual UChar first(void);
145 
154  virtual UChar firstPostInc(void);
155 
165  virtual UChar32 first32(void);
166 
175  virtual UChar32 first32PostInc(void);
176 
184  virtual UChar last(void);
185 
193  virtual UChar32 last32(void);
194 
203  virtual UChar setIndex(int32_t position);
204 
216  virtual UChar32 setIndex32(int32_t position);
217 
223  virtual UChar current(void) const;
224 
230  virtual UChar32 current32(void) const;
231 
239  virtual UChar next(void);
240 
249  virtual UChar nextPostInc(void);
250 
261  virtual UChar32 next32(void);
262 
271  virtual UChar32 next32PostInc(void);
272 
282  virtual UBool hasNext();
283 
291  virtual UChar previous(void);
292 
300  virtual UChar32 previous32(void);
301 
311  virtual UBool hasPrevious();
312 
324  virtual int32_t move(int32_t delta, EOrigin origin);
325 
337  virtual int32_t move32(int32_t delta, EOrigin origin);
338 
343  void setText(const UChar* newText, int32_t newTextLength);
344 
352  virtual void getText(UnicodeString& result);
353 
359  static UClassID U_EXPORT2 getStaticClassID(void);
360 
366  virtual UClassID getDynamicClassID(void) const;
367 
368 protected:
378  const UChar* text;
379 
380 };
381 
383 #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:93
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:131
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:358
A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...
Definition: uchriter.h:35
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:357
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:337
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:132
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:378
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:91
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:359
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:295
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:364
int8_t UBool
The ICU boolean type.
Definition: umachine.h:259