00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
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