[Development] QList for Qt 6

Thiago Macieira thiago.macieira at intel.com
Thu May 30 20:09:48 CEST 2019


On Wednesday, 29 May 2019 02:26:57 PDT Lars Knoll wrote:
> > On 28 May 2019, at 17:17, Thiago Macieira <thiago.macieira at intel.com>
> > wrote:
 
> > On Monday, 27 May 2019 04:51:35 PDT Eike Ziller wrote:
> > 
> >>> * QVector for Qt 6 will most likely be updated with the changes Thiago
> >>> has
> >>> waiting since quite some years
> >> 
> >> What is the summary for these?
> > 
> > 
> > The long story short is that the begin pointer and size members move from
> > the  d pointer to the actual object. The slightly longer story is that
> > it's implemented using QArrayDataPointer and the supposedly
> > exception-safe, tag- dispatched operations in QArrayDataOps that João
> > wrote 7-8 years ago.
> 
> How important is exception safety? I’m rather unsure whether that’s
> required.

It's not. The point is that it's implemented. And the tag dispatching is 
actually an improvement over our current code, since it produces much more 
optimised code for the particulars of each T.

> > I also introduced a QGenericArray class that QVector derives from and
> > QList  could have, but doesn't look like it will be necessary for Qt 6.
> 
> 
> Weren’t you also thinking about using the same data structure for QByteArray
> and QString?

QArrayDataPointer yes. QGenericArray really is QVector, except for the methods 
that return QVector references.

But I never got either QByteArray or QString to use QADP. That's the point 
where I ran out of time 7 years ago.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel System Software Products





More information about the Development mailing list