[Development] C++20 comparisons @ Qt (was: Re: C++20 @ Qt)

Marc Mutz marc.mutz at qt.io
Mon Nov 13 18:15:10 CET 2023


On 13.11.23 17:15, Thiago Macieira wrote:
> On Monday, 13 November 2023 01:34:08 PST Ivan Solovev via Development wrote:
>> Thiago wrote:
>>> The problem is that QPartialOrdering::Unordered has been in our ABI since
>>> 6.1 and we can't change that any more.
>>
>> Well, Marc already suggested a solution for this problem.
>> Let's just introduce Qt::{strong,weak,partial}_ordering and deprecate
>> QPartialOrdering in favor of the new types.
>>
>> We need to provide conversion between QPartialOrdering and
>> Qt::partial_ordering, but the new types can be fully BC with std.
> 
> I don't think this minor thing is worth the hassle. It uglifies our API for
> little gain.

What, specifically, is ugly? That we have two Qt partial_ordering types?

Anyway, that's subjective. Objectively, it breaks the impasse between 
full efficiency in future-looking C++20 builds and Qt BC guarantees.

Given that Qt 7.0 is many years away, I don't think it's too much to ask 
to go the extra mile and remove the overhead. We seem to agree how to do 
it technically, and it won't be on you to implement all this, but on 
Ivan and me. I think I speak for Ivan, too, if I say that we'd rather 
today than tomorrow see this stuff merged. The next FF is already 
approaching again.

Thanks,
Marc

-- 
Marc Mutz <marc.mutz at qt.io>
Principal Software Engineer

The Qt Company
Erich-Thilo-Str. 10 12489
Berlin, Germany
www.qt.io

Geschäftsführer: Mika Pälsi, Juha Varelius, Jouni Lintunen
Sitz der Gesellschaft: Berlin,
Registergericht: Amtsgericht Charlottenburg,
HRB 144331 B



More information about the Development mailing list