examples: use QVector<QPointF> instead of QList<QPointF>
authorMarc Mutz <marc.mutz@kdab.com>
Thu, 1 Mar 2012 09:09:02 +0000 (10:09 +0100)
committerQt by Nokia <qt-info@nokia.com>
Thu, 8 Mar 2012 04:31:40 +0000 (05:31 +0100)
QPointF is in the category of types for which QList
is needlessly inefficient (elements are copy-constructed
onto the heap and held through pointers). Use a vector
instead. This is consistent with the QPainter API.

Change-Id: Id0e910c067a60d12fbc175e7ee7da824834be374
Reviewed-by: hjk <qthjk@ovi.com>
Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
examples/animation/stickman/animation.cpp
examples/graphicsview/chip/chip.h
tests/auto/widgets/graphicsview/qgraphicsscene/tst_qgraphicsscene.cpp
tests/benchmarks/gui/graphicsview/qgraphicsview/benchapps/chipTest/chip.h
tests/benchmarks/gui/graphicsview/qgraphicsview/chiptester/chip.h

index 4469b36..afdfae6 100644 (file)
@@ -41,6 +41,7 @@
 #include "animation.h"
 
 #include <QPointF>
+#include <QVector>
 #include <QIODevice>
 #include <QDataStream>
 
@@ -57,11 +58,7 @@ public:
 
     void setNodeCount(int nodeCount)
     {
-        while (nodeCount > m_nodePositions.size())
-            m_nodePositions.append(QPointF());            
-        
-        while (nodeCount < m_nodePositions.size())
-            m_nodePositions.removeLast();
+        m_nodePositions.resize(nodeCount);
     }
 
     QPointF nodePos(int idx) const
@@ -75,7 +72,7 @@ public:
     }
     
 private:
-    QList<QPointF> m_nodePositions;
+    QVector<QPointF> m_nodePositions;
 };
 
 Animation::Animation()
index 04fae2d..4c1cfae 100644 (file)
@@ -62,7 +62,7 @@ protected:
 private:
     int x, y;
     QColor color;
-    QList<QPointF> stuff;
+    QVector<QPointF> stuff;
 };
 
 #endif
index 220c89e..daa06d0 100644 (file)
@@ -2153,7 +2153,7 @@ void tst_QGraphicsScene::mouseEventPropagation_doubleclick()
 class Scene : public QGraphicsScene
 {
 public:
-    QList<QPointF> mouseMovePoints;
+    QVector<QPointF> mouseMovePoints;
 
 protected:
     void mouseMoveEvent(QGraphicsSceneMouseEvent *event)
index ef3550e..462109e 100644 (file)
@@ -62,7 +62,7 @@ protected:
 private:
     int x, y;
     QColor color;
-    QList<QPointF> stuff;
+    QVector<QPointF> stuff;
 };
 
 #endif