ICU4C 79
Loading...
Searching...
No Matches
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
15#if U_SHOW_CPLUSPLUS_API
16
17#include "unicode/chariter.h"
18
23
24U_NAMESPACE_BEGIN
25
39public:
49 UCharCharacterIterator(ConstChar16Ptr textPtr U_LIFETIME_BOUND, int32_t length);
50
64 UCharCharacterIterator(ConstChar16Ptr textPtr U_LIFETIME_BOUND, int32_t length,
65 int32_t position);
66
83 UCharCharacterIterator(ConstChar16Ptr textPtr U_LIFETIME_BOUND, int32_t length,
84 int32_t textBegin,
85 int32_t textEnd,
86 int32_t position);
87
96
102
112
121 virtual bool operator==(const ForwardCharacterIterator& that) const override;
122
128 virtual int32_t hashCode() const override;
129
137 virtual UCharCharacterIterator* clone() const override;
138
146 virtual char16_t first() override;
147
156 virtual char16_t firstPostInc() override;
157
167 virtual UChar32 first32() override;
168
177 virtual UChar32 first32PostInc() override;
178
186 virtual char16_t last() override;
187
195 virtual UChar32 last32() override;
196
205 virtual char16_t setIndex(int32_t position) override;
206
218 virtual UChar32 setIndex32(int32_t position) override;
219
225 virtual char16_t current() const override;
226
232 virtual UChar32 current32() const override;
233
241 virtual char16_t next() override;
242
251 virtual char16_t nextPostInc() override;
252
263 virtual UChar32 next32() override;
264
273 virtual UChar32 next32PostInc() override;
274
284 virtual UBool hasNext() override;
285
293 virtual char16_t previous() override;
294
302 virtual UChar32 previous32() override;
303
313 virtual UBool hasPrevious() override;
314
326 virtual int32_t move(int32_t delta, EOrigin origin) override;
327
339#ifdef move32
340 // One of the system headers right now is sometimes defining a conflicting macro we don't use
341#undef move32
342#endif
343 virtual int32_t move32(int32_t delta, EOrigin origin) override;
344
349 void setText(ConstChar16Ptr newText, int32_t newTextLength);
350
358 virtual void getText(UnicodeString& result) override;
359
365 static UClassID U_EXPORT2 getStaticClassID();
366
372 virtual UClassID getDynamicClassID() const override;
373
374protected:
384 const char16_t* text;
385
386};
387
388U_NAMESPACE_END
389
390#endif /* U_SHOW_CPLUSPLUS_API */
391
392#endif
C++ API: Character Iterator.
EOrigin
Origin enumeration for the move() and move32() functions.
Definition chariter.h:369
CharacterIterator()
Empty constructor.
const char16_t * wrapper with implicit conversion from distinct but bit-compatible pointer types.
Definition char16ptr.h:156
Abstract class that defines an API for forward-only iteration on text objects.
Definition chariter.h:94
virtual char16_t nextPostInc() override
Gets the current code unit for returning and advances to the next code unit in the iteration range (t...
virtual int32_t move(int32_t delta, EOrigin origin) override
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length, int32_t textBegin, int32_t textEnd, int32_t position)
Create an iterator over the char16_t array referred to by "textPtr".
UCharCharacterIterator(const UCharCharacterIterator &that)
Copy constructor.
virtual char16_t next() override
Advances to the next code unit in the iteration range (toward endIndex()), and returns that code unit...
void setText(ConstChar16Ptr newText, int32_t newTextLength)
Sets the iterator to iterate over a new range of text.
virtual UChar32 previous32() override
Advances to the previous code point in the iteration range (toward startIndex()), and returns that co...
virtual UChar32 setIndex32(int32_t position) override
Sets the iterator to refer to the beginning of the code point that contains the "position"-th code un...
virtual char16_t last() override
Sets the iterator to refer to the last code unit in its iteration range, and returns that code unit.
virtual UChar32 first32() override
Sets the iterator to refer to the first code point in its iteration range, and returns that code unit...
virtual UChar32 last32() override
Sets the iterator to refer to the last code point in its iteration range, and returns that code unit.
virtual char16_t first() override
Sets the iterator to refer to the first code unit in its iteration range, and returns that code unit.
virtual char16_t previous() override
Advances to the previous code unit in the iteration range (toward startIndex()), and returns that cod...
UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length, int32_t position)
Create an iterator over the char16_t array referred to by "textPtr".
virtual int32_t hashCode() const override
Generates a hash code for this iterator.
static UClassID getStaticClassID()
Return a class ID for this class (not really public).
virtual int32_t move32(int32_t delta, EOrigin origin) override
Moves the current position relative to the start or end of the iteration range, or relative to the cu...
virtual UChar32 next32() override
Advances to the next code point in the iteration range (toward endIndex()), and returns that code poi...
virtual UClassID getDynamicClassID() const override
Return a class ID for this object (not really public).
virtual bool operator==(const ForwardCharacterIterator &that) const override
Returns true if the iterators iterate over the same range of the same string and are pointing at the ...
virtual void getText(UnicodeString &result) override
Copies the char16_t array under iteration into the UnicodeString referred to by "result".
virtual char16_t firstPostInc() override
Sets the iterator to refer to the first code unit in its iteration range, returns that code unit,...
UCharCharacterIterator & operator=(const UCharCharacterIterator &that)
Assignment operator.
virtual UChar32 current32() const override
Returns the code point the iterator currently refers to.
virtual ~UCharCharacterIterator()
Destructor.
virtual char16_t current() const override
Returns the code unit the iterator currently refers to.
virtual UCharCharacterIterator * clone() const override
Returns a new UCharCharacterIterator referring to the same character in the same range of the same st...
virtual UBool hasPrevious() override
Returns false if there are no more code units or code points before the current position in the itera...
virtual UChar32 first32PostInc() override
Sets the iterator to refer to the first code point in its iteration range, returns that code point,...
UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length)
Create an iterator over the char16_t array referred to by "textPtr".
virtual UChar32 next32PostInc() override
Gets the current code point for returning and advances to the next code point in the iteration range ...
const char16_t * text
Protected member text.
Definition uchriter.h:384
UCharCharacterIterator()
Protected constructor.
virtual UBool hasNext() override
Returns false if there are no more code units or code points at or after the current position in the ...
virtual char16_t setIndex(int32_t position) override
Sets the iterator to refer to the "position"-th code unit in the text-storage object the iterator ref...
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition unistr.h:303
int32_t UChar32
Define UChar32 as a type for single Unicode code points.
Definition umachine.h:449
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition umachine.h:269
void * UClassID
UClassID is used to identify classes without using the compiler's RTTI.
Definition uobject.h:96
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:315