qt5base-lts/tests/auto/dbus
Giuseppe D'Angelo 14090760a8 Long Live QMap as a refcounted std::map!
... and QMultiMap as std::multimap.

Just use the implementation from the STL; we can't really claim that
our code is much better than STL's, or does things any differently
(de facto they're both red-black trees).

Decouple QMultiMap from QMap, by making it NOT inherit from
QMap any longer. This completes the deprecation started in 5.15:
QMap now does not store duplicated keys any more.

Something to establish is where to put the
QExplictlySharedDataPointer replcement that is in there as an
ad-hoc solution. There's a number of patches in-flight by Marc
that try to introduce the same (or very similar) functionality.

Miscellanea changes to the Q(Multi)Map code itself:

* consistently use size_type instead of int;
* pass iterators by value;
* drop QT_STRICT_ITERATORS;
* iterators implictly convert to const_iterators, and APIs
  take const_iterators;
* iterators are just bidirectional and not random access;
* added noexcept where it makes sense;
* "inline" dropped (churn);
* qMapLessThanKey dropped (undocumented, 0 hits in Qt, 1 hit in KDE);
* operator== on Q(Multi)Map requires operator== on the key type
  (we're checking for equality, not equivalence!).

Very few breakages occur in qtbase.

[ChangeLog][Potentially Source-Incompatible Changes] QMap does not
support multiple equivalent keys any more. Any related functionality
has been removed from QMap, following the deprecation that happened
in Qt 5.15. Use QMultiMap for this use case.

[ChangeLog][Potentially Source-Incompatible Changes] QMap and
QMultiMap iterators random-access API have been removed. Note that
the iterators have always been just bidirectional; moving
an iterator by N positions can still be achieved using std::next
or std::advance, at the same cost as before (O(N)).

[ChangeLog][Potentially Source-Incompatible Changes] QMultiMap does
not inherit from QMap any more. Amongst other things, this means
that iterators on a QMultiMap now belong to the QMultiMap class
(and not to the QMap class); new Java iterators have been added.

Change-Id: I5a0fe9b020f92c21b37065a1defff783b5d2b7a9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-08-06 19:15:39 +02:00
..
qdbusabstractadaptor CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
qdbusabstractinterface CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
qdbusconnection CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusconnection_delayed CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusconnection_no_app CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusconnection_no_bus CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusconnection_no_libdbus CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusconnection_spyhook CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbuscontext CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusinterface CMake: Regenerate subdir test projects 2020-07-09 09:38:39 +02:00
qdbuslocalcalls CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusmarshall Long Live QMap as a refcounted std::map! 2020-08-06 19:15:39 +02:00
qdbusmetaobject CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusmetatype CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbuspendingcall CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbuspendingreply CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusreply CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusservicewatcher CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusthreading CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbustype CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
qdbusxmlparser CMake: Regenerate tests with new qt_ prefixed APIs 2020-07-09 09:38:35 +02:00
CMakeLists.txt Regenerate some of the test projects that do SUBDIRS += foo 2019-08-07 11:55:38 +00:00
dbus.pro Build examples and tests only if their requirements are met 2017-03-22 15:55:55 +00:00