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