diff options
author | Ivan Komissarov <abbapoh@gmail.com> | 2021-04-23 03:43:55 +0300 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2021-08-16 10:05:48 +0000 |
commit | 4d85d558597f9405b9c9d20446156cd63d5b09c2 (patch) | |
tree | d70dd5a60a046d88c91759159deca651a88d9449 /src/lib/corelib/language/projectresolver.cpp | |
parent | 8b259164f2dbbfb1c87de20acbb1d3592e2a3b8c (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.cpp | 14 |
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; |