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 virtual ~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 U_EXPORT2 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