summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppmodelmanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppmodelmanager.cpp')
-rw-r--r--src/plugins/cpptools/cppmodelmanager.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/plugins/cpptools/cppmodelmanager.cpp b/src/plugins/cpptools/cppmodelmanager.cpp
index ca3283ece2..be1fc9e258 100644
--- a/src/plugins/cpptools/cppmodelmanager.cpp
+++ b/src/plugins/cpptools/cppmodelmanager.cpp
@@ -54,6 +54,7 @@
#include <projectexplorer/projectexplorer.h>
#include <projectexplorer/session.h>
#include <extensionsystem/pluginmanager.h>
+#include <utils/algorithm.h>
#include <utils/fileutils.h>
#include <utils/qtcassert.h>
@@ -710,13 +711,11 @@ void CppModelManager::removeFilesFromSnapshot(const QSet<QString> &filesToRemove
d->m_snapshot.remove(i.next());
}
-static QStringList projectPartIds(const QSet<ProjectPart::Ptr> &projectParts)
+static QSet<QString> projectPartIds(const QSet<ProjectPart::Ptr> &projectParts)
{
- QStringList result;
- QSetIterator<ProjectPart::Ptr> it(projectParts);
- while (it.hasNext())
- result << it.next()->id();
- return result;
+ return Utils::transform(projectParts, [](const ProjectPart::Ptr &projectPart) {
+ return projectPart->id();
+ });
}
class ProjectInfoComparer
@@ -750,9 +749,9 @@ public:
QStringList removedProjectParts()
{
- QSet<ProjectPart::Ptr> removed = m_old.projectParts().toSet();
- removed.subtract(m_new.projectParts().toSet());
- return projectPartIds(removed);
+ QSet<QString> removed = projectPartIds(m_old.projectParts().toSet());
+ removed.subtract(projectPartIds(m_new.projectParts().toSet()));
+ return removed.toList();
}
/// Returns a list of common files that have a changed timestamp.