ICU 77.1  77.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 
15 #if U_SHOW_CPLUSPLUS_API
16 
17 #include "unicode/chariter.h"
18 
24 U_NAMESPACE_BEGIN
25 
39 public:
49  UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length);
50 
64  UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length,
65  int32_t position);
66 
83  UCharCharacterIterator(ConstChar16Ptr textPtr, int32_t length,
84  int32_t textBegin,
85  int32_t textEnd,
86  int32_t position);
87 
96 
102 
113 
122  virtual bool operator==(const ForwardCharacterIterator& that) const override;
123 
129  virtual int32_t hashCode() const override;
130 
138  virtual UCharCharacterIterator* clone() const override;
139 
147  virtual char16_t first() override;
148 
157  virtual char16_t firstPostInc() override;
158 
168  virtual UChar32 first32() override;
169 
178  virtual UChar32 first32PostInc() override;
179 
187  virtual char16_t last() override;
188 
196  virtual UChar32 last32() override;
197 
206  virtual char16_t setIndex(int32_t position) override;
207 
219  virtual UChar32 setIndex32(int32_t position) override;
220 
226  virtual char16_t current() const override;
227 
233  virtual UChar32 current32() const override;
234 
242  virtual char16_t next() override;
243 
252  virtual char16_t nextPostInc() override;
253 
264  virtual UChar32 next32() override;
265 
274  virtual UChar32 next32PostInc() override;
275 
285  virtual UBool hasNext() override;
286 
294  virtual char16_t previous() override;
295 
303  virtual UChar32 previous32() override;
304 
314  virtual UBool hasPrevious() override;
315 
327  virtual int32_t move(int32_t delta, EOrigin origin) override;
328 
340 #ifdef move32
341  // One of the system headers right now is sometimes defining a conflicting macro we don't use
342 #undef move32
343 #endif
344  virtual int32_t move32(int32_t delta, EOrigin origin) override;
345 
350  void setText(ConstChar16Ptr newText, int32_t newTextLength);
351 
359  virtual void getText(UnicodeString& result) override;
360 
366  static UClassID U_EXPORT2 getStaticClassID();
367 
373  virtual