ICU 4.2.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
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
virtual UChar32 current32(void) const =0
Returns the code point the iterator currently refers to.
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 next32(void)=0
Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...
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 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...
CharacterIterator & operator=(const CharacterIterator &that)
Assignment operator.
virtual UChar next(void)=0
Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...
virtual UBool operator==(const ForwardCharacterIterator &that) const =0
Returns true when both iterators refer to the same character in the same character-storage object...
virtual UChar current(void) const =0
Returns the code unit the iterator currently refers to.
virtual UChar32 first32PostInc(void)
Sets the iterator to refer to the first code point in its iteration range, returns that code point...
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
virtual void getText(UnicodeString &result)=0
Copies the text under iteration into the UnicodeString referred to by "result".
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...
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:356
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:183
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...
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:319
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...
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:187
virtual UBool hasPrevious()=0
Returns FALSE if there are no more code units or code points before the current position in the itera...
#define U_EXPORT2
Definition: platform.h:338
EOrigin
Origin enumeration for the move() and move32() functions.
Definition: chariter.h:362
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...
uint16_t UChar
Define UChar to be wchar_t if that is 16 bits wide; always assumed to be unsigned.
Definition: umachine.h:299
virtual UClassID getDynamicClassID(void) const =0
Returns a UClassID for this ForwardCharacterIterator ("poor man's RTTI").
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API If the compiler doesn't support namespaces...
Definition: uversion.h:184
virtual UBool hasNext()=0
Returns FALSE if there are no more code units or code points at or after the current position in the ...
void * UClassID
UClassID is used to identify classes without using RTTI, since RTTI is not yet supported by all C++ c...
Definition: utypes.h:339
virtual UChar first(void)=0
Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...
virtual int32_t hashCode(void) const =0
Generates a hash code for this iterator.
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:474
Abstract class that defines an API for forward-only iteration on text objects.
Definition: chariter.h:89
C++ API: Character Iterator.
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 UChar32 first32(void)=0
Sets the iterator to refer to the first code point 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 UChar nextPostInc(void)=0
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
signed int int32_t
Define 64 bit limits.
Definition: pwin32.h:143
int8_t UBool
The ICU boolean type.
Definition: umachine.h:208