qt5base-lts/tests/auto/corelib/tools
Marc Mutz 1977c922e9 QFlatMap: make insertion STL-compatible
That is, insert() doesn't overwrite an existing entry, and range
insert inserts the first of equivalent keys' values, not the last.

This allowed this author to optimize the implementation of
makeUnique() to a O(N) algorithm (was: O(N²)). Said optimization would
have been possible with the old semantics, too, but I wrote the
algorithm first and only then noticed the broken insert() behavior is
present on QFlatMap, too, so I decided not to let good code go to
waste and to fix both problems at the same time.

In order to give users a hint of the changed semantics, make the new
API opt-in until Qt 6.5, so Qt 6.4 ships with the both the old and the
new semantics disabled, where they contradict.

Fixes: QTBUG-100092
Change-Id: Ic96d8bfe6bed9068dbe8c0d7171bd8921050fd95
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-03-16 18:28:27 +01:00
..
collections Add qt_internal_undefine_global_definition function 2022-02-02 16:45:37 +01:00
containerapisymmetry Associative containers: add a way to obtain a key/value range 2022-03-04 00:21:44 +01:00
qalgorithms Remove the qmake project files 2021-01-07 15:32:28 +01:00
qarraydata Fix signed/unsigned comparison warnings in tst_QArrayData 2021-10-29 14:11:46 +02:00
qbitarray Remove the qmake project files 2021-01-07 15:32:28 +01:00
qcache Fix gcc warning in tests 2022-01-24 12:59:37 +00:00
qcommandlineparser Compile autotests for Integrity 2021-09-20 17:29:04 +03:00
qcontiguouscache Remove the qmake project files 2021-01-07 15:32:28 +01:00
qcryptographichash Cleanup tests that add test data to resources explicitly 2022-02-11 21:54:44 +01:00
qduplicatetracker QDuplicateTracker: add clear() 2021-11-11 13:26:14 -08:00
qeasingcurve Remove the qmake project files 2021-01-07 15:32:28 +01:00
qexplicitlyshareddatapointer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qflatmap QFlatMap: make insertion STL-compatible 2022-03-16 18:28:27 +01:00
qfreelist CMake: Remove the usage of QT_SOURCE_TREE from tests 2021-07-12 18:56:14 +02:00
qhash Add qt_internal_undefine_global_definition function 2022-02-02 16:45:37 +01:00
qhashfunctions QT_SPECIALIZE_STD_HASH_TO_CALL_QHASH: use unqualified qHash() lookup 2021-11-29 18:55:10 +00:00
qhashseed tst_QHashSeed: improve quality of the quality() test 2021-11-23 20:48:08 -08:00
qline Exclude denormal test cases if system doesn't support it 2022-02-15 00:48:23 +02:00
qlist Fix build with C++20 on macOS 2022-02-11 22:56:35 +01:00
qmacautoreleasepool Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmakearray Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmap Add qt_internal_undefine_global_definition function 2022-02-02 16:45:37 +01:00
qmargins Remove the qmake project files 2021-01-07 15:32:28 +01:00
qmessageauthenticationcode Remove the qmake project files 2021-01-07 15:32:28 +01:00
qoffsetstringarray qlibraryinfo.cpp: use qOffsetStringArray for qtConfEntries 2021-11-03 14:54:37 -07:00
qpair Remove the qmake project files 2021-01-07 15:32:28 +01:00
qpoint Remove the qmake project files 2021-01-07 15:32:28 +01:00
qpointf Remove the qmake project files 2021-01-07 15:32:28 +01:00
qqueue Remove the qmake project files 2021-01-07 15:32:28 +01:00
qrect Remove the qmake project files 2021-01-07 15:32:28 +01:00
qringbuffer Make QRingBuffer a move-only type 2021-12-16 00:01:41 +01:00
qscopedpointer Disable warnings from using deprecated QScopedPointer::take 2021-02-13 06:44:52 +01:00
qscopedvaluerollback Remove the qmake project files 2021-01-07 15:32:28 +01:00
qscopeguard Remove checks for features available in C++17 2021-10-02 17:54:39 +02:00
qset Add qt_internal_undefine_global_definition function 2022-02-02 16:45:37 +01:00
qsharedpointer QWeakPointer: befriend other QWeakPointers 2022-03-04 19:00:45 -08:00
qsize Add more support for structured bindings 2021-02-25 16:08:44 +01:00
qsizef Add more support for structured bindings 2021-02-25 16:08:44 +01:00
qstl Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtaggedpointer Remove the qmake project files 2021-01-07 15:32:28 +01:00
qtimeline Port of QTimeLine to new property system 2021-04-26 16:44:54 +02:00
qvarlengtharray QVarLengthArray: don't allow syncqt to export base classes 2021-12-15 00:04:45 +01:00
qversionnumber QVersionNumber: port fromString() to QAnyStringView 2022-01-18 01:31:33 +01:00
CMakeLists.txt Activate tst_QTimeLine on Android 2022-02-10 15:14:57 +01:00