Markus Scherer
86bc5584cc
ICU-23004 specific iterator_category etc
2025-03-03 15:36:38 -08:00
Markus Scherer
d73daaf77f
ICU-23004 UTFIterator(p, limit)
2025-03-03 13:32:26 -08:00
Markus Scherer
8249b4e70d
ICU-23004 inline iterator functions
2025-03-03 12:41:43 -08:00
Markus Scherer
9d09964598
ICU-23004 compare with U8_NEXT()
2025-03-03 12:34:55 -08:00
Markus Scherer
d7dbb554ed
ICU-23004 UTFReverseIterator
2025-02-28 17:04:15 -08:00
Markus Scherer
9d90962708
ICU-23004 small bug fixes
2025-02-28 16:45:51 -08:00
Markus Scherer
d3e4264a72
ICU-23004 remove TODO: assert p != limit etc.
2025-02-28 16:06:13 -08:00
Markus Scherer
8db7b581b5
ICU-23004 generic UTF class names
2025-02-28 16:04:12 -08:00
Markus Scherer
518967ab01
ICU-23004 UTF-8 backward
2025-02-28 15:32:30 -08:00
Markus Scherer
2be45bf6f8
ICU-23004 UTF-8 forward
2025-02-28 14:50:35 -08:00
Markus Scherer
32131dc2ff
ICU-23004 move all UTF-16 code into UTFImpl
2025-02-28 12:38:16 -08:00
Markus Scherer
43717e4ba6
ICU-23004 UTFImpl inc() & decAndRead()
2025-02-28 12:10:34 -08:00
Markus Scherer
77ed4ad56b
ICU-23004 share inc()
2025-02-27 23:46:06 -08:00
Markus Scherer
d8703b232f
ICU-23004 iterator fields with _
2025-02-27 23:00:36 -08:00
Markus Scherer
48087ad761
ICU-23004 operator*() etc. are logically const
2025-02-27 22:51:00 -08:00
Markus Scherer
b8c764aa99
ICU-23004 single-pass: simpler state
2025-02-27 22:42:59 -08:00
Markus Scherer
07102da733
ICU-23004 no more iterator base class
2025-02-27 20:39:20 -08:00
Markus Scherer
c141a6f6b2
ICU-23004 start, limit fields with underscore
2025-02-27 20:12:27 -08:00
Markus Scherer
a136b8e13f
ICU-23004 fix operator== and move Super::current to this::p_
2025-02-27 20:04:28 -08:00
Markus Scherer
d734e731c4
ICU-23004 un-subclass simple-pass U16Iterator
...
and try to make operator==() compare logical positions
2025-02-26 15:15:54 -08:00
Markus Scherer
1249d84882
ICU-23004 shared substitution fn
2025-02-26 11:54:14 -08:00
Markus Scherer
b0b5ba8a7a
ICU-23004 operator->()
2025-02-26 11:45:23 -08:00
Markus Scherer
dafbaef1c2
ICU-23004 template specializations for single-pass input iterators
...
with post-increment ++ returning a private proxy type
2025-02-25 20:48:12 -08:00
Markus Scherer
d55e38459e
disable data() for single-pass input iterator
2025-02-03 19:51:03 -08:00
Markus Scherer
2443eb31fe
draft ICU 78
2025-02-03 15:19:28 -08:00
Markus Scherer
d5fcd0b480
auto & notes
2025-02-03 15:18:19 -08:00
Markus Scherer
516b714cad
make *iter++ efficient for single- & multi-pass
...
... by calling readAndInc() before copying the iterator
2025-02-03 15:08:32 -08:00
Markus Scherer
7bbae975c2
make safe iter work with single-pass UnitIter
...
... by storing CodeUnits in the Iterator,
and decoding in operator*() and operator--(),
together with a little state for whether a previous call
has already decoded a subsequence;
as a result, operator*() can no longer be const
2025-01-31 14:17:39 -08:00
Markus Scherer
1a47b1f36d
more typedefs for test FwdIter
2025-01-27 14:32:09 -08:00
Markus Scherer
035c2c1fba
validating iter based on other iter
2025-01-07 16:32:35 -08:00
Markus Scherer
5281d61f6d
rename to utfiter.h, also test
2025-01-06 17:37:42 -08:00
Markus Scherer
8bea75e17b
restore base dec() (oops)
2025-01-06 16:10:05 -08:00
Markus Scherer
84dc5f4619
unsafe=well-formed iterators
2025-01-06 16:05:05 -08:00
Markus Scherer
5c6e1a6a76
CodeUnits: getters / private fields
2025-01-06 15:16:35 -08:00
Markus Scherer
da93999f6d
CodeUnits result will be shared with 8-bit
2025-01-06 14:56:42 -08:00
Markus Scherer
70ef2fa0d3
C enum UIllFormedBehavior will be shared with 8-bit
2025-01-06 14:48:30 -08:00
Markus Scherer
633fafafda
remove non-standard iter API
2025-01-06 14:39:37 -08:00
Markus Scherer
a24b710f33
doxygen tparam
2025-01-02 16:11:26 -08:00
Markus Scherer
ca4787eeff
efficient rbegin() & rend()
2025-01-02 15:54:08 -08:00
Markus Scherer
e0cf8f7a6b
bidirectional
2025-01-02 14:55:05 -08:00
Markus Scherer
c156434b2c
readAndInc() for all
2025-01-02 13:59:10 -08:00
Markus Scherer
bfc722e398
pre=post-inc, fused readAndInc()
2024-12-26 17:38:51 -08:00
Markus Scherer
43e99e082e
experimental sample code
2024-12-26 17:24:02 -08:00
Markus Scherer
7bbeefcdd3
make it work outside of ICU
2024-12-26 17:19:08 -08:00
Markus Scherer
64ea1100ea
template param: code point type
2024-12-26 12:45:17 -08:00
Markus Scherer
6851e8db32
C++ range: U16StringCodePoints
2024-12-26 12:24:04 -08:00
Markus Scherer
b381c2b569
U16IllFormedBehavior
2024-12-26 12:07:24 -08:00
Markus Scherer
7dc31d2e59
fix hdrtest
2024-12-26 11:18:07 -08:00
Markus Scherer
20f890be31
operator* read on the fly
2024-12-23 16:55:31 -08:00
Markus Scherer
1bcd5ee309
header-only
2024-12-23 14:26:16 -08:00