Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
-
21
-
5a28aacd8 (dev), fe12650e9 (dev), 96f494bf9 (dev), 4b755bc11 (dev), 43d3d0376 (dev), 9eb1eb10c (6.6), 3d231e27a (dev), 0aad68f97 (tqtc/lts-6.5)
-
Foundation Sprint 81, Foundation Sprint 82, Foundation Sprint 83, Foundation Sprint 84, Foundation Sprint 85, Foundation Sprint 86, Foundation Sprint 87, Foundation Sprint 88, Foundation Sprint 89, Foundation Sprint 90, Foundation Sprint 91, Foundation Sprint 92, Foundation Sprint 93, Foundations Sprint 94, Foundations Sprint 95, Foundations Sprint 96, Foundations Sprint 97
Description
See epic for more information.
We're asking all maintainers to execute the following programme:
For each pair of types that are comparable:
- add private
- equals() as a back-end for == and
- compare() as a back-end for <=> that can be out-of-line (cf.
QTBUG-100276)
- a classification (incl. user docs! (
QTBUG-104110)) into exactly one of- strong
- partial
- weak
- add tests for all relational operators (
QTBUG-104108) - all traditional relational operators (==, !=, <, >, <=, >=) that work in C++20 (incl. synthesized ones) should also work in C++17.
Explore how much of this we can hide behind macros, and define such macros.
Attachments
Issue Links
- depends on
-
QTBUG-104110 Support easy, yet precise, documenting of relational operators
- Closed
-
QTBUG-104108 As a user of QTestLib, I want to use QCOMPARE_op with C++20's spaceship operator <=>
- Closed
- is required for
-
QTBUG-104111 Modernize comparisons [Core: Date/Time]
- Closed
-
QTBUG-113234 Modernize comparisons [Core: QVariant]
- Closed
-
QTBUG-117660 Modernize comparisons [Core: Item Views]
- Closed
-
QTBUG-117661 Modernize comparisons [Core: Strings]
- Closed
-
QTBUG-120300 Modernize comparisons [Core: Serialization]
- Closed
-
QTBUG-120303 Modernize comparisons [Core: I/O]
- Closed
-
QTBUG-120304 Modernize comparisons [Core: <rest>]
- Closed
-
QTBUG-120305 Modernize comparisons [Core: Containers (ex strings)]
- Closed
-
QTBUG-120306 Modernize comparisons [Core: Smart Pointers]
- Closed
-
QTBUG-120308 Modernize comparisons [Core: Geometric Classes]
- Closed
-
QTBUG-120359 Modernize comparisons [Core: QTypeRevision]
- Closed
-
QTBUG-120360 Modernize comparisons [Core: QOperatingSystemVersion]
- Closed
- relates to
-
QTBUG-118193 qfloat16 compares all integral values outside its range equal to infinity
- Open
-
QTBUG-117637 qfloat16 comparison with integral types is ambiguous
- Closed
- resulted in
-
QTBUG-119433 C++20 comparison 6.7 remaining tasks
- Closed