Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICU-23004 experiment with UTF-8/16 C++ iterators #3096

Draft
wants to merge 32 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
74e9b6f
U16Iterator experiment
markusicu Aug 12, 2024
6568b04
U16Iterator op*() returns U16OneSeq
markusicu Aug 13, 2024
1bcd5ee
header-only
markusicu Dec 23, 2024
20f890b
operator* read on the fly
markusicu Dec 24, 2024
7dc31d2
fix hdrtest
markusicu Dec 26, 2024
b381c2b
U16IllFormedBehavior
markusicu Dec 26, 2024
6851e8d
C++ range: U16StringCodePoints
markusicu Dec 26, 2024
64ea110
template param: code point type
markusicu Dec 26, 2024
7bbeefc
make it work outside of ICU
markusicu Dec 27, 2024
43e99e0
experimental sample code
markusicu Dec 27, 2024
bfc722e
pre=post-inc, fused readAndInc()
markusicu Dec 27, 2024
c156434
readAndInc() for all
markusicu Jan 2, 2025
e0cf8f7
bidirectional
markusicu Jan 2, 2025
ca4787e
efficient rbegin() & rend()
markusicu Jan 2, 2025
a24b710
doxygen tparam
markusicu Jan 3, 2025
633fafa
remove non-standard iter API
markusicu Jan 6, 2025
70ef2fa
C enum UIllFormedBehavior will be shared with 8-bit
markusicu Jan 6, 2025
da93999
CodeUnits result will be shared with 8-bit
markusicu Jan 6, 2025
5c6e1a6
CodeUnits: getters / private fields
markusicu Jan 6, 2025
84dc5f4
unsafe=well-formed iterators
markusicu Jan 7, 2025
8bea75e
restore base dec() (oops)
markusicu Jan 7, 2025
5281d61
rename to utfiter.h, also test
markusicu Jan 7, 2025
035c2c1
validating iter based on other iter
markusicu Jan 8, 2025
1a47b1f
more typedefs for test FwdIter
markusicu Jan 27, 2025
7bbae97
make safe iter work with single-pass UnitIter
markusicu Jan 31, 2025
516b714
make *iter++ efficient for single- & multi-pass
markusicu Feb 3, 2025
d5fcd0b
auto & notes
markusicu Feb 3, 2025
2443eb3
draft ICU 78
markusicu Feb 3, 2025
d55e384
disable data() for single-pass input iterator
markusicu Feb 4, 2025
dafbaef
ICU-23004 template specializations for single-pass input iterators
markusicu Feb 26, 2025
b0b5ba8
ICU-23004 operator->()
markusicu Feb 26, 2025
1249d84
ICU-23004 shared substitution fn
markusicu Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions icu4c/source/common/common.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -1258,6 +1258,9 @@
<CustomBuild Include="unicode\utf16.h">
<Filter>strings</Filter>
</CustomBuild>
<CustomBuild Include="unicode\utf16cppiter.h">
<Filter>strings</Filter>
</CustomBuild>
<CustomBuild Include="unicode\utf32.h">
<Filter>strings</Filter>
</CustomBuild>
Expand Down
Loading