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