00001 /* 00002 ****************************************************************************** 00003 * 00004 * Copyright (C) 1998-2004, 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: 00047 StringCharacterIterator(const UnicodeString& textStr); 00048 00058 StringCharacterIterator(const UnicodeString& textStr, 00059 int32_t textPos); 00060 00077 StringCharacterIterator(const UnicodeString& textStr, 00078 int32_t textBegin, 00079 int32_t textEnd, 00080 int32_t textPos); 00081 00090 StringCharacterIterator(const StringCharacterIterator& that); 00091 00096 virtual ~StringCharacterIterator(); 00097 00106 StringCharacterIterator& 00107 operator=(const StringCharacterIterator& that); 00108 00117 virtual UBool operator==(const ForwardCharacterIterator& that) const; 00118 00126 virtual CharacterIterator* clone(void) const; 00127 00133 void setText(const UnicodeString& newText); 00134 00142 virtual void getText(UnicodeString& result); 00143 00149 virtual UClassID getDynamicClassID(void) const; 00150 00156 static UClassID U_EXPORT2 getStaticClassID(void); 00157 00158 protected: 00163 StringCharacterIterator(); 00164 00171 void setText(const UChar* newText, int32_t newTextLength); 00172 00177 UnicodeString text; 00178 00179 }; 00180 00181 U_NAMESPACE_END 00182 #endif