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:
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 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