qt5base-lts/tests/auto/corelib/io/qsettings
Marc Mutz 6ec1dc904d QSettings: port key processing to QAnyStringView
... in preparation for replacing the QString keys in the public API
with QAnyStringView ones.

This removes the "important optimization" that avoids a detach in the
common case where the input is the same as the output of
normalization. But that optimization is beside the point, because it
trades a memory allocation avoided in the library for O(N) allocations
inserted into user code for each call to QSettings::value(), the vast
majority of which are calls with string literals.

With the public interface ported to QAnyStringView in the follow-up
patch, we can then internally optimize memory allocations _in a central
place_ (e.g. by returning std::u16string or QVarLengthArray<QChar> from
normalizeKey() instead of QString). But first we need to get rid of all
the unwarranted allocations in user code.

Change-Id: I45fc83d972c552a220c9c29508001d3f172e1162
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2022-03-19 07:09:55 +00:00
..
.gitattributes Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
.gitignore Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
bom.ini Properly detect UTF-8 BOM markers in ini files 2014-10-29 08:58:31 +01:00
CMakeLists.txt QSettings: support reading UTF-8 keys in INI files 2022-03-02 11:13:33 +01:00
float.ini QSettings: Add support for QMetaType::Float 2021-01-15 18:51:15 +01:00
qt5settings.ini QSettings: support reading UTF-8 keys in INI files 2022-03-02 11:13:33 +01:00
resourcefile2.ini Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
resourcefile3.ini Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
resourcefile4.ini Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
resourcefile5.ini Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
resourcefile6.plist Fix data corruption when reading byte arrays from QSettings 2017-02-03 15:37:58 +00:00
resourcefile.ini Moving relevant tests to corelib/io 2011-08-31 10:08:38 +02:00
tst_qsettings.cpp QSettings: port key processing to QAnyStringView 2022-03-19 07:09:55 +00:00
utf8settings.ini QSettings: support reading UTF-8 keys in INI files 2022-03-02 11:13:33 +01:00
withcomments.ini Fix QSettings parsing of spaces after comment lines 2018-12-07 18:53:34 +00:00