Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-104113

Modernize comparisons: can we provide macros?

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • P2: Important
    • 6.7.0 FF
    • None
    • Core: Other
    • 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

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              ivan.solovev Ivan Solovev
              mmutz Marc Mutz
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: