[Development] Supported compilers for Qt 6
Thiago Macieira
thiago.macieira at intel.com
Tue Aug 13 02:10:36 CEST 2019
On Monday, 12 August 2019 13:23:45 PDT Christian Gagneraud wrote:
> On Mon, 12 Aug 2019, 22:13 Thiago Macieira, <thiago.macieira at intel.com>
>
> wrote:
> > On Monday, 12 August 2019 13:03:47 PDT Mutz, Marc via Development wrote:
> > > The milestone is std::byte, which which we could put QByteArray on a
> > > sound basis. And char8_t, which would make QUtf8String(View) fly.
> >
> > QByteArray, due to its dual string / byte array nature, will continue to
> > operate on char. After all, char *is* a byte. We should add the unsigned
> > char
> > variants too, though.
>
> What is a byte? An 8 bits unsigned integer, 0-255.
You described an octet.
A byte is the smallest unit of addressable memory in C. That's the definition
of byte. That means a char, unsigned char or signed char are bytes. Those
three types are also allowed to alias any other type, so functions like memcpy
and memcmp can be written.
> Char is unsigned on Intel arch, but is signed on arm.
The other way around. But they're still bytes.
> Maybe it's time to get rid of qbytearray and qstring and qstringview, ...
> And fully embrace (and contribute, like boost does, to) modern c++.
Not going to happen. Not even if SG16 were done right now (instead of C++23 or
later). There's just too much code that we need to be compatible with. QString
is there to stay, period.
Whether we can rewrite lots of its internals using the C++ standard library is
a different story. We should be working with SG16 (and I am) to see that it
can happen. But don't expect major progress until C++23 or 26.
Also, we're modern C++.
--
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel System Software Products
More information about the Development
mailing list