qt5base-lts/tests/auto/corelib/tools
Lars Knoll 5cb0368516 Rewrite QMap to use a RB tree
QMap used to use a skiplist in Qt 4.x, which has variable
sized nodes and we can thus not optimise using custom
allocators.

The rewrite now uses a red-black tree, and all allocations
and tree operations happen in the cpp file. This will allow
us to introduce custom allocation schemes in later versions
of Qt.

Added some more tests and a benchmark. Memory consumption
of the new QMap implementation is pretty much the same as before.
Performance of insertion and lookup has increased by 10-30%. iteration
is slower, but still extremely fast and should not matter compared
to the work usually done when iterating.

Change-Id: I8796c0e4b207d01111e2ead7ae55afb464dd88f5
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2012-03-23 09:31:09 +01:00
..
qalgorithms Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qarraydata Fix invalid read, detected by valgrind 2012-03-15 23:01:13 +01:00
qbitarray Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qbytearray Merge remote-tracking branch 'gerrit/master' into containers 2012-02-21 14:58:57 +01:00
qbytearraymatcher Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qcache Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qchar Changed qchar unittest to check return from QFINDTESTDATA 2012-03-01 05:43:39 +01:00
qcontiguouscache Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qcryptographichash Add SHA-224, SHA-256, SHA-384, and SHA-512 support to QCryptographicHash 2012-02-27 22:24:00 +01:00
qdate Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
qdatetime Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
qeasingcurve QEasingCurve: implement move constructor 2012-02-21 15:28:40 +01:00
qelapsedtimer Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qexplicitlyshareddatapointer Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qfreelist Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qhash Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qline Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qlist Merge remote-tracking branch 'origin/master' into api_changes 2012-03-12 21:03:49 +01:00
qlocale Remove ARMFPA support and Q_DOUBLE_FORMAT detection 2012-03-01 16:26:55 +01:00
qmap Rewrite QMap to use a RB tree 2012-03-23 09:31:09 +01:00
qmargins Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qpair QPair: specialise QTypeInfo based on the typeinfos of its arguments 2012-03-01 14:26:06 +01:00
qpoint Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qqueue Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qrect Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qregexp Fix tst_qregexp with QStringBuilder 2012-03-01 16:58:33 +01:00
qregularexpression QRegularExpression: minor fix to captureIndexForName 2012-03-08 22:00:53 +01:00
qringbuffer Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qscopedpointer Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qscopedvaluerollback Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qset containers: add C++11-style c{begin,end}() as alias for const{Begin,End}() 2012-03-17 09:10:57 +01:00
qsharedpointer tst_qsharedpointer: Fix auto test fail under Windows 7 2012-03-15 11:40:50 +01:00
qsize Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qsizef Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qstl Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qstring QRegularExpression: support for QString overloads 2012-03-15 00:37:56 +01:00
qstringbuilder Allow QChar::SpecialCharacter with QStringBuilder. 2012-02-29 14:08:43 +01:00
qstringlist QRegularExpression: support for QStringList overloads 2012-03-21 11:43:30 +01:00
qstringmatcher Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
qstringref Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
qtextboundaryfinder Eliminate duplicate data row names from corelib autotests. 2012-02-14 06:19:16 +01:00
qtime QDateTime: Add validity checks 2012-01-31 04:18:37 +01:00
qtimeline Mark tst_qtimeline as insignificant on Windows 2012-03-15 00:50:47 +01:00
qvarlengtharray Remove "All rights reserved" line from license headers. 2012-01-30 03:54:59 +01:00
qvector Merge remote-tracking branch 'gerrit/master' into containers 2012-02-05 21:26:33 +01:00
tools.pro Merge remote-tracking branch 'origin/api_changes' into containters 2012-03-08 12:02:41 +01:00