qt5base-lts/util
Marc Mutz 19e7c0d2b5 QChar/QString: centralize case folding in qchar.cpp
There are (at least) two implementations of the low-level case-folding
algorithm, one of which (for QChar::toLower()) seems to be wrong (it
doesn't deal with special cases which expand to more than one code
point).

The algoithm hidden in QString and entangled with the QString
detaching code makes reusing the code much harder.

At the same time, the dependency of the algorithm on the unicode
tables makes exposing a non-allocating result type in the public API
hard. std::u16string would be an alternative if we can assure that all
implementations use SSO with at least four characters.

So, for the time being, leave this as internal API for use in an
upcoming QStringView::toLower() as well as case-insensitive hashing.

Change-Id: Iabb2611846f6176776aa20e634f44d8464f3305c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-05-09 06:25:05 +00:00
..
accessibilityinspector Use Qt::SplitBehavior in preference to QString::SplitBehavior 2020-02-28 15:37:11 +01:00
aglfn Updated license headers 2016-01-21 18:55:18 +00:00
cmake pro2cmake: Add library mappings for the restructured ActiveQt module 2020-05-07 16:23:15 +02:00
corelib/qurl-generateTLDs Remove QUrl::topLevelDomain 2020-02-20 21:41:54 +01:00
edid Minor grammar fixup 2018-08-03 18:11:24 +00:00
glgen Get rid of QT_OPENGL_ES* 2020-04-17 11:50:24 +02:00
gradientgen WebGradients: redo implementation 2019-12-14 11:31:46 +01:00
harfbuzz Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
includemocs QtCore: include mocs 2017-05-05 03:03:30 +00:00
integrity Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
lexgen Change qHash() to work with size_t instead of uint 2020-04-09 20:03:25 +02:00
locale_database Merge remote-tracking branch 'origin/5.15' into dev 2020-04-08 20:11:39 +02:00
plugintest Updated license headers 2016-01-21 18:55:18 +00:00
qfloat16-tables Merge remote-tracking branch 'origin/5.13' into 5.14 2019-11-06 11:41:19 +01:00
unicode QChar/QString: centralize case folding in qchar.cpp 2020-05-09 06:25:05 +00:00
x86simdgen Move qsimd* from corelib/tools to corelib/global 2020-03-26 09:15:32 +01:00
xkbdatagen Updated license headers 2016-01-21 18:55:18 +00:00