/* ******************************************************************************* * * Copyright (C) 1998-1999, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************************* * * File schriter.h * * Modification History: * * Date Name Description * 05/05/99 stephen Cleaned up. ******************************************************************************* */ #ifndef SCHRITER_H #define SCHRITER_H #include "unicode/utypes.h" #include "unicode/chariter.h" class U_COMMON_API StringCharacterIterator : public CharacterIterator { public: StringCharacterIterator(const UnicodeString& text); StringCharacterIterator(const UnicodeString& text, UTextOffset pos); StringCharacterIterator(const UnicodeString& text, UTextOffset begin, UTextOffset end, UTextOffset pos); StringCharacterIterator(const StringCharacterIterator& that); virtual ~StringCharacterIterator(); StringCharacterIterator& operator=(const StringCharacterIterator& 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 UnicodeString& newText); virtual void getText(UnicodeString& result); virtual UClassID getDynamicClassID(void) const { return getStaticClassID(); } static UClassID getStaticClassID(void) { return (UClassID)(&fgClassID); } private: StringCharacterIterator(); UnicodeString text; UTextOffset pos; UTextOffset begin; UTextOffset end; static UClassID fgClassID; }; #endif