/* ******************************************************************** * * Copyright (C) 1997-1999, International Business Machines * Corporation and others. All Rights Reserved. * ******************************************************************** */ #ifndef CHARITER_H #define CHARITER_H #include "unicode/utypes.h" #include "unicode/unistr.h" class U_COMMON_API CharacterIterator { public: static const UChar DONE; virtual ~CharacterIterator(); virtual bool_t operator==(const CharacterIterator& that) const = 0; bool_t operator!=(const CharacterIterator& that) const { return !operator==(that); } virtual CharacterIterator* clone(void) const = 0; virtual int32_t hashCode(void) const = 0; virtual UChar first(void) = 0; virtual UChar last(void) = 0; virtual UChar setIndex(UTextOffset position) = 0; virtual UChar current(void) const = 0; virtual UChar next(void) = 0; virtual UChar previous(void) = 0; virtual UTextOffset startIndex(void) const = 0; virtual UTextOffset endIndex(void) const = 0; virtual UTextOffset getIndex(void) const = 0; virtual void getText(UnicodeString& result) = 0; virtual UClassID getDynamicClassID(void) const = 0; protected: CharacterIterator() {} CharacterIterator(const CharacterIterator&) {} CharacterIterator& operator=(const CharacterIterator&) { return *this; } }; #endif