diff options
author | Daniel Teske <daniel.teske@digia.com> | 2014-06-06 13:12:47 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2014-06-16 14:26:03 +0200 |
commit | 5a30007e45e93ff37e021dd9de00098789586004 (patch) | |
tree | 3ce7124e85004f8843b0d9583aaa3947ef7d0362 /src/plugins/projectexplorer/buildconfiguration.cpp | |
parent | c78258cd57abac4a593965c1d759c0b877f9f1c7 (diff) | |
download | qt-creator-5a30007e45e93ff37e021dd9de00098789586004.tar.gz |
ProjectExplorer: Use more algorithms
Make heavy use of lambdas
Change-Id: I53197d0ffb4ae8eec076f15335cc22b74e1def1d
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
Diffstat (limited to 'src/plugins/projectexplorer/buildconfiguration.cpp')
-rw-r--r-- | src/plugins/projectexplorer/buildconfiguration.cpp | 38 |
1 files changed, 14 insertions, 24 deletions
diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index e4d4bc5485..2e16db3081 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -42,6 +42,7 @@ #include <utils/qtcassert.h> #include <utils/stringutils.h> +#include <utils/algorithm.h> #include <QDebug> @@ -154,10 +155,9 @@ Utils::AbstractMacroExpander *BuildConfiguration::macroExpander() QList<Core::Id> BuildConfiguration::knownStepLists() const { - QList<Core::Id> result; - foreach (BuildStepList *list, m_stepLists) - result.append(list->id()); - return result; + return Utils::transform(m_stepLists, [](BuildStepList *list) { + return list->id(); + }); } BuildStepList *BuildConfiguration::stepList(Core::Id id) const @@ -344,16 +344,11 @@ IBuildConfigurationFactory *IBuildConfigurationFactory::find(Kit *k, const QStri { QList<IBuildConfigurationFactory *> factories = ExtensionSystem::PluginManager::instance()->getObjects<IBuildConfigurationFactory>(); - IBuildConfigurationFactory *factory = 0; - int priority = -1; - foreach (IBuildConfigurationFactory *i, factories) { - int iPriority = i->priority(k, projectPath); - if (iPriority > priority) { - factory = i; - priority = iPriority; - } - } - return factory; + + return Utils::maxElementOr(factories, 0, + [&k, &projectPath](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { + return a->priority(k, projectPath) > b->priority(k, projectPath); + }); } // create @@ -361,16 +356,11 @@ IBuildConfigurationFactory * IBuildConfigurationFactory::find(Target *parent) { QList<IBuildConfigurationFactory *> factories = ExtensionSystem::PluginManager::getObjects<IBuildConfigurationFactory>(); - IBuildConfigurationFactory *factory = 0; - int priority = -1; - foreach (IBuildConfigurationFactory *i, factories) { - int iPriority = i->priority(parent); - if (iPriority > priority) { - factory = i; - priority = iPriority; - } - } - return factory; + + return Utils::maxElementOr(factories, 0, + [&parent](IBuildConfigurationFactory *a, IBuildConfigurationFactory *b) { + return a->priority(parent) > b->priority(parent); + }); } // clone |