00001
00002
00003
00004
00005
00006
00007
00008
#ifndef UCHRITER_H
00009
#define UCHRITER_H
00010
00011
#include "unicode/utypes.h"
00012
#include "unicode/chariter.h"
00013
00014 U_NAMESPACE_BEGIN
00015
00028 class U_COMMON_API UCharCharacterIterator :
public CharacterIterator {
00029
public:
00037 UCharCharacterIterator(
const UChar* textPtr, int32_t length);
00038
00049 UCharCharacterIterator(
const UChar* textPtr, int32_t length,
00050 int32_t position);
00051
00063 UCharCharacterIterator(
const UChar* textPtr, int32_t length,
00064 int32_t textBegin,
00065 int32_t textEnd,
00066 int32_t position);
00067
00074 UCharCharacterIterator(
const UCharCharacterIterator& that);
00075
00080 ~UCharCharacterIterator();
00081
00088 UCharCharacterIterator&
00089 operator=(
const UCharCharacterIterator& that);
00090
00096
virtual UBool operator==(
const ForwardCharacterIterator& that)
const;
00097
00102
virtual int32_t
hashCode(
void)
const;
00103
00110
virtual CharacterIterator*
clone(
void)
const;
00111
00118
virtual UChar first(
void);
00119
00127
virtual UChar firstPostInc(
void);
00128
00137
virtual UChar32 first32(
void);
00138
00146
virtual UChar32 first32PostInc(
void);
00147
00154
virtual UChar last(
void);
00155
00162
virtual UChar32 last32(
void);
00163
00170
virtual UChar setIndex(int32_t position);
00171
00181
virtual UChar32 setIndex32(int32_t position);
00182
00187
virtual UChar current(
void)
const;
00188
00193
virtual UChar32 current32(
void)
const;
00194
00201
virtual UChar next(
void);
00202
00210
virtual UChar nextPostInc(
void);
00211
00221
virtual UChar32 next32(
void);
00222
00230
virtual UChar32 next32PostInc(
void);
00231
00239
virtual UBool
hasNext();
00240
00247
virtual UChar previous(
void);
00248
00255
virtual UChar32 previous32(
void);
00256
00264
virtual UBool
hasPrevious();
00265
00274
virtual int32_t move(int32_t delta, EOrigin origin);
00275
00284
virtual int32_t move32(int32_t delta, EOrigin origin);
00285
00290
void setText(
const UChar* newText, int32_t newTextLength);
00291
00299
virtual void getText(
UnicodeString& result);
00300
00305 virtual UClassID getDynamicClassID(
void)
const
00306
{
return getStaticClassID(); }
00307
00312 static UClassID getStaticClassID(
void)
00313 {
return (
UClassID)(&fgClassID); }
00314
00315
protected:
00316 UCharCharacterIterator();
00317
00318
const UChar* text;
00319
00320
private:
00321
static const char fgClassID;
00322 };
00323
00324 U_NAMESPACE_END
00325
#endif