00001 /* 00002 ****************************************************************************** 00003 * 00004 * Copyright (C) 1998-2001, 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 00025 U_NAMESPACE_BEGIN 00038 class U_COMMON_API StringCharacterIterator : public UCharCharacterIterator { 00039 public: 00046 StringCharacterIterator(const UnicodeString& textStr); 00047 00055 StringCharacterIterator(const UnicodeString& textStr, 00056 int32_t textPos); 00057 00070 StringCharacterIterator(const UnicodeString& textStr, 00071 int32_t textBegin, 00072 int32_t textEnd, 00073 int32_t textPos); 00074 00082 StringCharacterIterator(const StringCharacterIterator& that); 00083 00088 virtual ~StringCharacterIterator(); 00089 00096 StringCharacterIterator& 00097 operator=(const StringCharacterIterator& that); 00098 00104 virtual UBool operator==(const ForwardCharacterIterator& that) const; 00105 00112 virtual CharacterIterator* clone(void) const; 00113 00118 void setText(const UnicodeString& newText); 00119 00127 virtual void getText(UnicodeString& result); 00128 00133 virtual UClassID getDynamicClassID(void) const 00134 { return getStaticClassID(); } 00135 00140 static UClassID getStaticClassID(void) 00141 { return (UClassID)(&fgClassID); } 00142 00143 protected: 00144 StringCharacterIterator(); 00145 void setText(const UChar* newText, int32_t newTextLength); 00146 00147 UnicodeString text; 00148 private: 00149 static const char fgClassID; 00150 }; 00151 00152 U_NAMESPACE_END 00153 #endif