aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/language/projectresolver.cpp
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-04-23 03:43:55 +0300
committerIvan Komissarov <ABBAPOH@gmail.com>2021-08-16 10:05:48 +0000
commit4d85d558597f9405b9c9d20446156cd63d5b09c2 (patch)
treed70dd5a60a046d88c91759159deca651a88d9449 /src/lib/corelib/language/projectresolver.cpp
parent8b259164f2dbbfb1c87de20acbb1d3592e2a3b8c (diff)
Get rid of Set::to/from methods
... and replace them with the new template rangeTo method Also, add efficient Set(Iter, Iter) ctor. Change-Id: I5a2345ca84373692e3ba815e5a8f38cb4cfc4308 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/lib/corelib/language/projectresolver.cpp')
-rw-r--r--src/lib/corelib/language/projectresolver.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp
index d3b744892..83f42e4e2 100644
--- a/src/lib/corelib/language/projectresolver.cpp
+++ b/src/lib/corelib/language/projectresolver.cpp
@@ -635,13 +635,14 @@ SourceArtifactPtr ProjectResolver::createSourceArtifact(const ResolvedProductPtr
return artifact;
}
-static QualifiedIdSet propertiesToEvaluate(const QList<QualifiedId> &initialProps,
- const PropertyDependencies &deps)
+static QualifiedIdSet propertiesToEvaluate(std::deque<QualifiedId> initialProps,
+ const PropertyDependencies &deps)
{
- QList<QualifiedId> remainingProps = initialProps;
+ std::deque<QualifiedId> remainingProps = std::move(initialProps);
QualifiedIdSet allProperties;
while (!remainingProps.empty()) {
- const QualifiedId prop = remainingProps.takeFirst();
+ const QualifiedId prop = remainingProps.front();
+ remainingProps.pop_front();
const auto insertResult = allProperties.insert(prop);
if (!insertResult.second)
continue;
@@ -663,8 +664,9 @@ QVariantMap ProjectResolver::resolveAdditionalModuleProperties(const Item *group
const QualifiedIdSet &propsSetInGroup = it->second;
// Step 2: Gather all properties that depend on these properties.
- const QualifiedIdSet &propsToEval
- = propertiesToEvaluate(propsSetInGroup.toList(), m_evaluator->propertyDependencies());
+ const QualifiedIdSet &propsToEval = propertiesToEvaluate(
+ rangeTo<std::deque<QualifiedId>>(propsSetInGroup),
+ m_evaluator->propertyDependencies());
// Step 3: Evaluate all these properties and replace their values in the map
QVariantMap modulesMap = currentValues;