diff options
author | Daniel Teske <daniel.teske@digia.com> | 2014-07-07 19:02:26 +0200 |
---|---|---|
committer | Daniel Teske <daniel.teske@digia.com> | 2014-07-16 18:20:57 +0200 |
commit | eccf1dc1e397303e218eaaf48977fd612cbd3d6a (patch) | |
tree | 0681cde5b07e72b5667820c7e4a14d2ff88f4ed1 /src/plugins/projectexplorer/customtoolchain.cpp | |
parent | 71b56d2b9c3264bd481915c763aac685c1ad24d0 (diff) |
Even more algorithm usage in ProjectExplorer
Add Utils::transform and anyOf that take a member function pointer.
Remove bestElementOr it's unused.
Use declval<T> in transform's return type, because msvc does evaluate
T() and for types that don't have simple constructor this fails.
Add std::remove_reference since decltype returns a reference for
lvalues.
Change-Id: I22248b226748eeb27af0d300182d574438d7f756
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/customtoolchain.cpp')
-rw-r--r-- | src/plugins/projectexplorer/customtoolchain.cpp | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp index 033dffa2e4..7384bf7175 100644 --- a/src/plugins/projectexplorer/customtoolchain.cpp +++ b/src/plugins/projectexplorer/customtoolchain.cpp @@ -38,6 +38,7 @@ #include "projectexplorerconstants.h" #include "toolchainmanager.h" +#include <utils/algorithm.h> #include <utils/detailswidget.h> #include <utils/environment.h> #include <utils/pathchooser.h> @@ -218,17 +219,14 @@ IOutputParser *CustomToolChain::outputParser() const QStringList CustomToolChain::headerPathsList() const { - QStringList list; - foreach (const HeaderPath &headerPath, m_systemHeaderPaths) - list << headerPath.path(); - return list; + return Utils::transform(m_systemHeaderPaths, &HeaderPath::path); } void CustomToolChain::setHeaderPaths(const QStringList &list) { - m_systemHeaderPaths.clear(); - foreach (const QString &headerPath, list) - m_systemHeaderPaths << HeaderPath(headerPath.trimmed(), HeaderPath::GlobalHeaderPath); + m_systemHeaderPaths = Utils::transform(list, [](const QString &headerPath) { + return HeaderPath(headerPath.trimmed(), HeaderPath::GlobalHeaderPath); + }); } void CustomToolChain::setCompilerCommand(const FileName &path) @@ -272,9 +270,7 @@ const QStringList &CustomToolChain::cxx11Flags() const void CustomToolChain::setMkspecs(const QString &specs) { - m_mkspecs.clear(); - foreach (const QString &spec, specs.split(QLatin1Char(','))) - m_mkspecs << FileName::fromString(spec); + m_mkspecs = Utils::transform(specs.split(QLatin1Char(',')), &FileName::fromString); } QString CustomToolChain::mkspecs() const |