ICU 63.1 63.1

uchriter.h
Go to the documentation of this file.
1 // © 2016 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 /*
4 **********************************************************************
5 * Copyright (C) 1998-2005, International Business Machines
6 * Corporation and others. All Rights Reserved.
7 **********************************************************************
8 */
9
10 #ifndef UCHRITER_H
11 #define UCHRITER_H
12
13 #include "unicode/utypes.h"
14 #include "unicode/chariter.h"
15
21 U_NAMESPACE_BEGIN
22
35 class U_COMMON_API UCharCharacterIterator : public CharacterIterator {
36 public:
46 UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length);
47
61 UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length,
62 int32_t position);
63
80 UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length,
81 int32_t textBegin,
82 int32_t textEnd,
83 int32_t position);
84
92 UCharCharacterIterator(const UCharCharacterIterator& that);
93
98 virtual ~UCharCharacterIterator();
99
108 UCharCharacterIterator&
109 operator=(const UCharCharacterIterator& that);
110
119 virtual UBool operator==(const ForwardCharacterIterator& that) const;
120
126 virtual int32_t hashCode(void) const;
127
135 virtual CharacterIterator* clone(void) const;
136
144 virtual char16_t first(void);
145
154 virtual char16_t firstPostInc(void);
155
165 virtual UChar32 first32(void);
166
175 virtual UChar32 first32PostInc(void);
176
184 virtual char16_t last(void);
185
193 virtual UChar32 last32(void);
194
203 virtual char16_t setIndex(int32_t position);
204
216 virtual UChar32 setIndex32(int32_t position);
217
223 virtual char16_t current(void) const;
224
230 virtual UChar32 current32(void) const;
231
239 virtual char16_t next(void);
240
249 virtual char16_t nextPostInc(void);
250
261 virtual UChar32 next32(void);
262
271 virtual UChar32 next32PostInc(void);
272
282 virtual UBool hasNext();
283
291 virtual char16_t previous(void);
292
300 virtual UChar32 previous32(void);
301
311 virtual UBool hasPrevious();
312
324 virtual int32_t move(int32_t delta, EOrigin origin);
325
337 #ifdef move32
338 // One of the system headers right now is sometimes defining a conflicting macro we don't use
339 #undef move32
340 #endif
341 virtual int32_t move32(int32_t delta, EOrigin origin);
342
347 void setText(ConstChar16Ptr newText, int32_t newTextLength);
348
356 virtual void getText(UnicodeString& result);
357
363 static UClassID U_EXPORT2 getStaticClassID(void);
364
370 virtual UClassID getDynamicClassID(void) const;
371
372 protected:
377 UCharCharacterIterator();
382 const char16_t* text;
383
384 };
385
386 U_NAMESPACE_END
387 #endif
icu::CharacterIterator::operator=
CharacterIterator & operator=(const CharacterIterator &that)
Assignment operator.
icu::CharacterIterator::first32PostInc
virtual UChar32 first32PostInc(void)
Sets the iterator to refer to the first code point in its iteration range, returns that code point...
icu::CharacterIterator::next
virtual char16_t next(void)=0
Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...
icu::CharacterIterator::setIndex
virtual char16_t setIndex(int32_t position)=0
Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator ref...
icu::CharacterIterator::current
virtual char16_t current(void) const =0
Returns the code unit the iterator currently refers to.
icu::CharacterIterator::next32
virtual UChar32 next32(void)=0
Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...
icu::CharacterIterator::last32
virtual UChar32 last32(void)=0
Sets the iterator to refer to the last code point in its iteration range, and returns that code unit...
icu::ForwardCharacterIterator::next32PostInc
virtual UChar32 next32PostInc(void)=0
Gets the current code point for returning and advances to the next code point in the iteration range ...
icu::ForwardCharacterIterator::hashCode
virtual int32_t hashCode(void) const =0
Generates a hash code for this iterator.
UClassID
void * UClassID
UClassID is used to identify classes without using the compiler&#39;s RTTI.
Definition: uobject.h:90
icu::CharacterIterator::move32
virtual int32_t move32(int32_t delta, EOrigin origin)=0
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
icu::CharacterIterator::getText
virtual void getText(UnicodeString &result)=0
Copies the text under iteration into the UnicodeString referred to by "result".
icu::ForwardCharacterIterator::getDynamicClassID
virtual UClassID getDynamicClassID(void) const =0
Returns a UClassID for this ForwardCharacterIterator ("poor man&#39;s RTTI").
icu::CharacterIterator::hasPrevious
virtual UBool hasPrevious()=0
Returns FALSE if there are no more code units or code points before the current position in the itera...
icu::CharacterIterator::move
virtual int32_t move(int32_t delta, EOrigin origin)=0
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
U_NAMESPACE_BEGIN
#define U_NAMESPACE_BEGIN
This is used to begin a declaration of a public ICU C++ API.
Definition: uversion.h:137
icu::ForwardCharacterIterator::hasNext
virtual UBool hasNext()=0
Returns FALSE if there are no more code units or code points at or after the current position in the ...
icu::CharacterIterator
Abstract class that defines an API for iteration on text objects.
Definition: chariter.h:358
icu::UCharCharacterIterator
A concrete subclass of CharacterIterator that iterates over the characters (code units or code points...
Definition: uchriter.h:35
UChar32
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition: umachine.h:389
icu::CharacterIterator::clone
virtual CharacterIterator * clone(void) const =0
Returns a pointer to a new CharacterIterator of the same concrete class as this one, and referring to the same character in the same text-storage object as this one.
icu::UCharCharacterIterator::text
const char16_t * text
Protected member text.
Definition: uchriter.h:382
icu::CharacterIterator::last
virtual char16_t last(void)=0
Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit...
U_NAMESPACE_END
#define U_NAMESPACE_END
This is used to end a declaration of a public ICU C++ API.
Definition: uversion.h:138
icu::CharacterIterator::first32
virtual UChar32 first32(void)=0
Sets the iterator to refer to the first code point in its iteration range, and returns that code unit...
icu::ForwardCharacterIterator::nextPostInc
virtual char16_t nextPostInc(void)=0
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
icu::ForwardCharacterIterator
Abstract class that defines an API for forward-only iteration on text objects.
Definition: chariter.h:91
icu::ConstChar16Ptr
const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types...
Definition: char16ptr.h:146
icu::CharacterIterator::previous
virtual char16_t previous(void)=0
Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
icu::ForwardCharacterIterator::operator==
virtual UBool operator==(const ForwardCharacterIterator &that) const =0
Returns true when both iterators refer to the same character in the same character-storage object...
U_COMMON_API
#define U_COMMON_API
Set to export library symbols from inside the common library, and to import them from outside...
Definition: utypes.h:300
icu::CharacterIterator::current32
virtual UChar32 current32(void) const =0
Returns the code point the iterator currently refers to.
icu::UnicodeString
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition: unistr.h:289
chariter.h
C++ API: Character Iterator.
icu::CharacterIterator::first
virtual char16_t first(void)=0
Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit...
icu::CharacterIterator::previous32
virtual UChar32 previous32(void)=0
Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...
icu::CharacterIterator::setIndex32
virtual UChar32 setIndex32(int32_t position)=0
Sets the iterator to refer to the beginning of the code point that contains the "position"-th code un...
icu::CharacterIterator::firstPostInc
virtual char16_t firstPostInc(void)
Sets the iterator to refer to the first code unit in its iteration range, returns that code unit...
icu::CharacterIterator::EOrigin
EOrigin
Origin enumeration for the move() and move32() functions.
Definition: chariter.h:364
UBool
int8_t UBool
The ICU boolean type.
Definition: umachine.h:225