C++: Change QStringList to QSet<QString> to prevent conversions.

This eliminates a bunch of list->set->list conversions. Especially the
ProjectInfo::appendProjectPart takes lots of time converting for every
part added.

Change-Id: Ib3c8cd4b0ad6c012ccbeed12ebedd46b9b6cca95
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
This commit is contained in:
Erik Verbruggen
2014-09-04 14:59:50 +02:00
parent 50e951dcb4
commit cc70b603d3
30 changed files with 95 additions and 92 deletions

View File

@@ -38,6 +38,7 @@
#include <projectexplorer/toolchain.h>
#include <QPointer>
#include <QSet>
namespace CppTools {
@@ -148,7 +149,7 @@ public:
void clearProjectParts();
const ProjectPart::HeaderPaths headerPaths() const;
const QStringList sourceFiles() const;
const QSet<QString> sourceFiles() const;
const QByteArray defines() const;
private:
@@ -156,7 +157,7 @@ private:
QList<ProjectPart::Ptr> m_projectParts;
// The members below are (re)calculated from the project parts once a part is appended.
ProjectPart::HeaderPaths m_headerPaths;
QStringList m_sourceFiles;
QSet<QString> m_sourceFiles;
QByteArray m_defines;
};