ICU 57.1 57.1
uchriter.h
Go to the documentation of this file.
1/*
2**********************************************************************
3* Copyright (C) 1998-2005, International Business Machines
4* Corporation and others. All Rights Reserved.
5**********************************************************************
6*/
7
8#ifndef UCHRITER_H
9#define UCHRITER_H
10
11#include "unicode/utypes.h"
12#include "unicode/chariter.h"
13
20
34public:
44 UCharCharacterIterator(const UChar* textPtr, int32_t length);
45
59 UCharCharacterIterator(const UChar* textPtr, int32_t length,
60 int32_t position);
61
78 UCharCharacterIterator(const UChar* textPtr, int32_t length,
79 int32_t textBegin,
80 int32_t textEnd,
81 int32_t position);
82
91
97
108
118
124 virtual int32_t hashCode(void) const;
125
133 virtual CharacterIterator* clone(void) const;
134
142 virtual UChar first(void);
143
152 virtual UChar firstPostInc(void);
153
163 virtual UChar32 first32(void);
164
173 virtual UChar32 first32PostInc(void);
174
182 virtual UChar last(void);
183
191 virtual UChar32 last32(void);
192
201 virtual UChar setIndex(int32_t position);
202
214 virtual UChar32 setIndex32(int32_t position);
215
221 virtual UChar current(void) const;
222
228 virtual UChar32 current32(void) const;
229
237 virtual UChar next(void);
238
247 virtual UChar nextPostInc(void);
248
259 virtual UChar32 next32(void);
260
269 virtual UChar32 next32PostInc(void);
270
280 virtual UBool hasNext();
281
289 virtual UChar previous(void);
290
298 virtual UChar32 previous32(void);
299
310
322 virtual int32_t move(int32_t delta, EOrigin origin);
323
335 virtual int32_t move32(int32_t delta, EOrigin origin);
336
341 void setText(const UChar* newText, int32_t newTextLength);
342
351
358
364 virtual UClassID getDynamicClassID(void) const;
365
366protected:
376 const UChar* text;
377
378};
379
381#endif
C++ API: Character Iterator.
Abstract class that defines an API for iteration on text objects.
Definition chariter.h:356
EOrigin
Origin enumeration for the move() and move32() functions.
Definition chariter.h:362
Abstract class that defines an API for forward-only iteration on text objects.
Definition chariter.h:89
"Smart pointer" base class; do not use directly: use LocalPointer etc.
A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...
Definition uchriter.h:33
virtual UBool operator==(const ForwardCharacterIterator &that) const
Returns true if the iterators iterate over the same range of the same string and are pointing at the ...
virtual int32_t hashCode(void) const
Generates a hash code for this iterator.
virtual void getText(UnicodeString &result)
Copies the UChar array under iteration into the UnicodeString referred to by "result".
virtual UChar next(void)
Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...
virtual UChar firstPostInc(void)
Sets the iterator to refer to the first code unit in its iteration range, returns that code unit,...
virtual int32_t move32(int32_t delta, EOrigin origin)
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
UCharCharacterIterator(const UChar *textPtr, int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)
Create an iterator over the UChar array referred to by "textPtr".
UCharCharacterIterator(const UChar *textPtr, int32_t length, int32_t position)
Create an iterator over the UChar array referred to by "textPtr".
virtual UChar current(void) const
Returns the code unit the iterator currently refers to.
virtual UClassID getDynamicClassID(void) const
Return a class ID for this object (not really public)
virtual UChar last(void)
Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit.
virtual UChar first(void)
Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit.
virtual UChar32 next32(void)
Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...
virtual int32_t move(int32_t delta, EOrigin origin)
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
virtual UChar32 last32(void)
Sets the iterator to refer to the last code point in its iteration range, and returns that code unit.
virtual UBool hasPrevious()
Returns FALSE if there are no more code units or code points before the current position in the itera...
static UClassID getStaticClassID(void)
Return a class ID for this class (not really public)
virtual UChar32 first32(void)
Sets the iterator to refer to the first code point in its iteration range, and returns that code unit...
virtual ~UCharCharacterIterator()
Destructor.
virtual UChar nextPostInc(void)
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
UCharCharacterIterator(const UCharCharacterIterator &that)
Copy constructor.
virtual UChar setIndex(int32_t position)
Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator ref...
virtual UChar32 first32PostInc(void)
Sets the iterator to refer to the first code point in its iteration range, returns that code point,...
virtual CharacterIterator * clone(void) const
Returns a new UCharCharacterIterator referring to the same character in the same range of the same st...
virtual UChar32 previous32(void)
Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...
const UChar * text
Protected member text.
Definition uchriter.h:376
virtual UChar32 setIndex32(int32_t position)
Sets the iterator to refer to the beginning of the code point that contains the "position"-th code un...
UCharCharacterIterator & operator=(const UCharCharacterIterator &that)
Assignment operator.
UCharCharacterIterator()
Protected constructor.
virtual UChar previous(void)
Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...
UCharCharacterIterator(const UChar *textPtr, int32_t length)
Create an iterator over the UChar array referred to by "textPtr".
virtual UChar32 current32(void) const
Returns the code point the iterator currently refers to.
void setText(const UChar *newText, int32_t newTextLength)
Sets the iterator to iterate over a new range of text.
virtual UBool hasNext()
Returns FALSE if there are no more code units or code points at or after the current position in the ...
virtual UChar32 next32PostInc(void)
Gets the current code point for returning and advances to the next code point in the iteration range ...
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition unistr.h:294
uint16_t UChar
Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...
Definition umachine.h:312
Basic definitions for ICU, for both C and C++ APIs.
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside.
Definition utypes.h:357
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition uversion.h:130
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition uversion.h:129