If the elements are larger than a pointer, QList does not store the
elements themselves, but pointers to them in a contiguous block of
memory. This wastes quite a bit of memory. This can be prevented easily
by using QVector instead.
REVIEW: 111304
void KItemListSizeHintResolver::itemsRemoved(int index, int count)
{
- const QList<QSizeF>::iterator begin = m_sizeHintCache.begin() + index;
- const QList<QSizeF>::iterator end = begin + count;
+ const QVector<QSizeF>::iterator begin = m_sizeHintCache.begin() + index;
+ const QVector<QSizeF>::iterator end = begin + count;
m_sizeHintCache.erase(begin, end);
}
#include <libdolphin_export.h>
#include <QByteArray>
-#include <QList>
#include <QSizeF>
+#include <QVector>
class KItemListView;
private:
const KItemListView* m_itemListView;
- mutable QList<QSizeF> m_sizeHintCache;
+ mutable QVector<QSizeF> m_sizeHintCache;
};
#endif
#include <QRectF>
#include <QSet>
#include <QSizeF>
+#include <QVector>
class KItemModelBase;
class KItemListSizeHintResolver;
int column;
int row;
};
- QList<ItemInfo> m_itemInfos;
+ QVector<ItemInfo> m_itemInfos;
friend class KItemListControllerTest;
};