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

@@ -183,10 +183,8 @@ void ProjectInfo::appendProjectPart(const ProjectPart::Ptr &part)
}
// Update source files
QSet<QString> srcs = QSet<QString>::fromList(m_sourceFiles);
foreach (const ProjectFile &file, part->files)
srcs.insert(file.path);
m_sourceFiles = srcs.toList();
m_sourceFiles.insert(file.path);
// Update defines
if (!m_defines.isEmpty())
@@ -213,7 +211,7 @@ const ProjectPart::HeaderPaths ProjectInfo::headerPaths() const
return m_headerPaths;
}
const QStringList ProjectInfo::sourceFiles() const
const QSet<QString> ProjectInfo::sourceFiles() const
{
return m_sourceFiles;
}