On Monday, 12 August 2019 13:23:45 PDT Christian Gagneraud wrote: > On Mon, 12 Aug 2019, 22:13 Thiago Macieira, <thiago.macie...@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 _______________________________________________ Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development