00001
00002
00003
00004
00005
00006
00007
00008
#ifndef UCHRITER_H
00009
#define UCHRITER_H
00010
00011
#include "unicode/utypes.h"
00012
#include "unicode/chariter.h"
00013
00014
U_NAMESPACE_BEGIN
00015
00028
class U_COMMON_API UCharCharacterIterator :
public CharacterIterator {
00029 public:
00039 UCharCharacterIterator(
const UChar* textPtr,
int32_t length);
00040
00054 UCharCharacterIterator(
const UChar* textPtr, int32_t length,
00055 int32_t position);
00056
00073 UCharCharacterIterator(
const UChar* textPtr, int32_t length,
00074 int32_t textBegin,
00075 int32_t textEnd,
00076 int32_t position);
00077
00085 UCharCharacterIterator(
const UCharCharacterIterator& that);
00086
00091 ~UCharCharacterIterator();
00092
00101 UCharCharacterIterator&
00102 operator=(
const UCharCharacterIterator& that);
00103
00112
virtual UBool operator==(
const ForwardCharacterIterator& that)
const;
00113
00119
virtual int32_t hashCode(
void) const;
00120
00128 virtual
CharacterIterator* clone(
void) const;
00129
00137 virtual UChar first(
void);
00138
00147 virtual UChar firstPostInc(
void);
00148
00158 virtual
UChar32 first32(
void);
00159
00168 virtual UChar32 first32PostInc(
void);
00169
00177 virtual UChar last(
void);
00178
00186 virtual UChar32 last32(
void);
00187
00196 virtual UChar setIndex(int32_t position);
00197
00209 virtual UChar32 setIndex32(int32_t position);
00210
00216 virtual UChar current(
void) const;
00217
00223 virtual UChar32 current32(
void) const;
00224
00232 virtual UChar next(
void);
00233
00242 virtual UChar nextPostInc(
void);
00243
00254 virtual UChar32 next32(
void);
00255
00264 virtual UChar32 next32PostInc(
void);
00265
00275 virtual UBool hasNext();
00276
00284 virtual UChar previous(
void);
00285
00293 virtual UChar32 previous32(
void);
00294
00304 virtual UBool hasPrevious();
00305
00317 virtual int32_t move(int32_t delta, EOrigin origin);
00318
00330 virtual int32_t move32(int32_t delta, EOrigin origin);
00331
00336
void setText(const UChar* newText, int32_t newTextLength);
00337
00345 virtual
void getText(
UnicodeString& result);
00346
00352 static
UClassID getStaticClassID(
void);
00353
00359 virtual UClassID getDynamicClassID(
void) const;
00360
00361 protected:
00366 UCharCharacterIterator();
00371 const UChar* text;
00372
00373 };
00374
00375 U_NAMESPACE_END
00376 #endif