aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/customtoolchain.cpp
diff options
context:
space:
mode:
authorDaniel Teske <daniel.teske@digia.com>2014-07-07 19:02:26 +0200
committerDaniel Teske <daniel.teske@digia.com>2014-07-16 18:20:57 +0200
commiteccf1dc1e397303e218eaaf48977fd612cbd3d6a (patch)
tree0681cde5b07e72b5667820c7e4a14d2ff88f4ed1 /src/plugins/projectexplorer/customtoolchain.cpp
parent71b56d2b9c3264bd481915c763aac685c1ad24d0 (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.cpp16
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