/* ********************************************************************** * 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 UCharCharacterIterator& that); ~UCharCharacterIterator(); UCharCharacterIterator& operator=(const UCharCharacterIterator& that); virtual bool_t operator==(const CharacterIterator& that) const; virtual int32_t hashCode(void) const; virtual CharacterIterator* clone(void) const; virtual UChar first(void); virtual UChar last(void); virtual UChar setIndex(UTextOffset pos); virtual UChar current(void) const; virtual UChar next(void); virtual UChar previous(void); virtual UTextOffset startIndex(void) const; virtual UTextOffset endIndex(void) const; virtual UTextOffset getIndex(void) const; virtual 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); } private: UCharCharacterIterator(); const UChar* text; UTextOffset pos; UTextOffset begin; UTextOffset end; static char fgClassID; }; #endif