[Development] Container refactor update

Thiago Macieira thiago.macieira at intel.com
Thu Jun 21 07:16:51 CEST 2012


On quarta-feira, 20 de junho de 2012 08.52.55, Marc Mutz wrote:
> Hi Thiago,
> 
> [you knew this would be coming, I don't let you down]
> 
> On Monday June 18 2012, Thiago Macieira wrote:
> > * port QList
> 
> Before actually porting QList (esp. as I take the above to mean that QList
> won't be bound to void* slots anymore): Is there than *anything* in QList
> that QVector doesn't do at least as good or that could be ported over to
> QVector (reserving space in front for prepends comes to mind, though I'd
> argue that code that uses this a lot is broken by design anyway).
> 
> So, can we please just have the equivalent of
>   template <typename T>
>   using QList = QVector<T>;
> after moving the members that QList has but QVector lacks over to QVector?

My plan is *almost* that.

QList<T> will be a QVector<T> if
	sizeof(T) < 32
	T is movable

Otherwise, QList<T> will be backed by a QVector<T *> and the pointer will be 
dereferenced in the accessor functions.

The value of 32 is chosen because it will be the size of QVariant on 64-bit 
platforms.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center
     Intel Sweden AB - Registration Number: 556189-6027
     Knarrarnäsgatan 15, 164 40 Kista, Stockholm, Sweden
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 190 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.qt-project.org/pipermail/development/attachments/20120621/398541e6/attachment.sig>


More information about the Development mailing list