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