/* ********************************************************************** * Copyright (C) 1998-1999, International Business Machines * Corporation and others. All Rights Reserved. ********************************************************************** */ #ifndef UCHRITER_H #define UCHRITER_H #include "unicode/utypes.h" #include "unicode/chariter.h" class U_COMMON_API UCharCharacterIterator : public CharacterIterator { public: UCharCharacterIterator(const UChar* text, int32_t len); UCharCharacterIterator(const UChar* text, int32_t len, UTextOffset pos); UCharCharacterIterator(const UChar* text, int32_t len, UTextOffset begin, UTextOffset end, UTextOffset pos); UCharCharacterIterator(const UCharCharacterIterator& that); ~UCharCharacterIterator(); UCharCharacterIterator& operator=(const UCharCharacterIterator& that); virtual UBool operator==(const ForwardCharacterIterator& that) const; virtual int32_t hashCode(void) const; virtual CharacterIterator* clone(void) const; virtual UChar first(void); virtual UChar firstPostInc(void); virtual UChar32 first32(void); virtual UChar32 first32PostInc(void); virtual UChar last(void); virtual UChar32 last32(void); virtual UChar setIndex(UTextOffset pos); virtual UChar32 setIndex32(UTextOffset pos); virtual UChar current(void) const; virtual UChar32 current32(void) const; virtual UChar next(void); virtual UChar nextPostInc(void); virtual UChar32 next32(void); virtual UChar32 next32PostInc(void); virtual UBool hasNext(); virtual UChar previous(void); virtual UChar32 previous32(void); virtual UBool hasPrevious(); virtual UTextOffset move(int32_t delta, EOrigin origin); virtual UTextOffset move32(int32_t delta, EOrigin origin); void setText(const UChar* newText, int32_t newTextLength); virtual void getText(UnicodeString& result); virtual UClassID getDynamicClassID(void) const { return getStaticClassID(); } static UClassID getStaticClassID(void) { return (UClassID)(&fgClassID); } protected: UCharCharacterIterator(); const UChar* text; static char fgClassID; }; #endif