00001 /* 00002 ******************************************************************************* 00003 * 00004 * Copyright (C) 1998-1999, International Business Machines 00005 * Corporation and others. All Rights Reserved. 00006 * 00007 ******************************************************************************* 00008 * 00009 * File schriter.h 00010 * 00011 * Modification History: 00012 * 00013 * Date Name Description 00014 * 05/05/99 stephen Cleaned up. 00015 ******************************************************************************* 00016 */ 00017 00018 #ifndef SCHRITER_H 00019 #define SCHRITER_H 00020 00021 #include "unicode/utypes.h" 00022 #include "unicode/chariter.h" 00023 #include "unicode/uchriter.h" 00024 00036 class U_COMMON_API StringCharacterIterator : public UCharCharacterIterator { 00037 public: 00044 StringCharacterIterator(const UnicodeString& text); 00045 00053 StringCharacterIterator(const UnicodeString& text, 00054 UTextOffset pos); 00055 00068 StringCharacterIterator(const UnicodeString& text, 00069 UTextOffset begin, 00070 UTextOffset end, 00071 UTextOffset pos); 00072 00080 StringCharacterIterator(const StringCharacterIterator& that); 00081 00086 virtual ~StringCharacterIterator(); 00087 00094 StringCharacterIterator& 00095 operator=(const StringCharacterIterator& that); 00096 00102 virtual UBool operator==(const ForwardCharacterIterator& that) const; 00103 00110 virtual CharacterIterator* clone(void) const; 00111 00116 void setText(const UnicodeString& newText); 00117 00125 virtual void getText(UnicodeString& result); 00126 00131 virtual UClassID getDynamicClassID(void) const 00132 { return getStaticClassID(); } 00133 00138 static UClassID getStaticClassID(void) 00139 { return (UClassID)(&fgClassID); } 00140 00141 protected: 00142 StringCharacterIterator(); 00143 void setText(const UChar* newText, int32_t newTextLength); 00144 00145 UnicodeString text; 00146 00147 static UClassID fgClassID; 00148 }; 00149 00150 #endif