diff options
8 files changed, 20 insertions, 25 deletions
diff --git a/src/app/qbs-setup-qt/setupqt.cpp b/src/app/qbs-setup-qt/setupqt.cpp index f5d479d94..3426e15df 100644 --- a/src/app/qbs-setup-qt/setupqt.cpp +++ b/src/app/qbs-setup-qt/setupqt.cpp @@ -299,15 +299,12 @@ QString profileNameWithoutHostArch(const QString &profileName) // then we drop the crosscompiling toolchain MSVC2017-x86_x64. static void compressMsvcProfiles(QStringList &profiles) { - auto it = std::remove_if(profiles.begin(), profiles.end(), - [&profiles] (const QString &profileName) { + Internal::removeIf(profiles, [&profiles] (const QString &profileName) { int idx = profileName.indexOf(QLatin1Char('_')); if (idx == -1) return false; return contains(profiles, profileNameWithoutHostArch(profileName)); }); - if (it != profiles.end()) - profiles.erase(it, profiles.end()); } void SetupQt::saveToQbsSettings(const QString &qtVersionName, diff --git a/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp b/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp index 2adb77d47..3f3fce59b 100644 --- a/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp +++ b/src/lib/corelib/buildgraph/artifactsscriptvalue.cpp @@ -45,6 +45,8 @@ #include <language/language.h> #include <language/scriptengine.h> +#include <tools/stlutils.h> + #include <QtScript/qscriptclass.h> #include <QtScript/qscriptcontext.h> @@ -162,7 +164,7 @@ template<class ProductOrModule> static QScriptValue js_artifactsForFileTag( const auto filter = [productOrModule](const Artifact *a) { return !isRelevantArtifact(productOrModule, a); }; - artifacts.erase(std::remove_if(artifacts.begin(), artifacts.end(), filter), artifacts.end()); + Internal::removeIf(artifacts, filter); result = engine->newArray(uint(artifacts.size())); ctx->callee().setProperty(CachedValueKey, result); int k = 0; diff --git a/src/lib/corelib/jsextensions/utilitiesextension.cpp b/src/lib/corelib/jsextensions/utilitiesextension.cpp index 8d82ac562..2dc87e980 100644 --- a/src/lib/corelib/jsextensions/utilitiesextension.cpp +++ b/src/lib/corelib/jsextensions/utilitiesextension.cpp @@ -43,6 +43,7 @@ #include <logging/translator.h> #include <tools/architectures.h> #include <tools/hostosinfo.h> +#include <tools/stlutils.h> #include <tools/stringconstants.h> #include <tools/toolchains.h> #include <tools/version.h> @@ -604,7 +605,7 @@ QScriptValue UtilitiesExtension::js_installedMSVCs(QScriptContext *context, QScr auto archPair = MSVC::getHostTargetArchPair(msvc.architecture); return archPair.first != hostArch || preferredArch != archPair.second; }; - msvcs.erase(std::remove_if(msvcs.begin(), msvcs.end(), predicate), msvcs.end()); + Internal::removeIf(msvcs, predicate); QVariantList result; for (const auto &msvc: msvcs) result.append(msvc.toVariantMap()); diff --git a/src/lib/corelib/language/itemreader.cpp b/src/lib/corelib/language/itemreader.cpp index afa768a06..1abc5caf9 100644 --- a/src/lib/corelib/language/itemreader.cpp +++ b/src/lib/corelib/language/itemreader.cpp @@ -42,6 +42,7 @@ #include "itemreadervisitorstate.h" #include <tools/profiling.h> +#include <tools/stlutils.h> #include <QtCore/qfileinfo.h> @@ -52,13 +53,10 @@ namespace Internal { static void makePathsCanonical(QStringList &paths) { - auto it = std::remove_if(paths.begin(), paths.end(), [](QString &p) { + Internal::removeIf(paths, [](QString &p) { p = QFileInfo(p).canonicalFilePath(); return p.isEmpty(); }); - auto e = paths.end(); - if (it != e) - paths.erase(it, e); } ItemReader::ItemReader(Logger &logger) diff --git a/src/lib/corelib/tools/clangclinfo.cpp b/src/lib/corelib/tools/clangclinfo.cpp index 36845da6d..3aaee0786 100644 --- a/src/lib/corelib/tools/clangclinfo.cpp +++ b/src/lib/corelib/tools/clangclinfo.cpp @@ -49,8 +49,7 @@ static std::vector<MSVCInstallInfo> compatibleMsvcs(Logger &logger) const int major = versions.at(0).toInt(&ok); return !(ok && major >= 15); // support MSVC2017 and above }; - const auto it = std::remove_if(msvcs.begin(), msvcs.end(), filter); - msvcs.erase(it, msvcs.end()); + Internal::removeIf(msvcs, filter); for (const auto &msvc: msvcs) { auto vcvarsallPath = msvc.findVcvarsallBat(); if (vcvarsallPath.isEmpty()) diff --git a/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp b/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp index 066c47931..441333976 100644 --- a/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp +++ b/src/plugins/generator/iarew/archs/stm8/stm8linkersettingsgroup_v3.cpp @@ -32,6 +32,8 @@ #include "../../iarewutils.h" +#include <tools/stlutils.h> + #include <QtCore/qdir.h> namespace qbs { @@ -100,14 +102,11 @@ struct ConfigPageOptions final // on the general page). configDefinitions = IarewUtils::flagValues( flags, QStringLiteral("--config_def")); - configDefinitions.erase(std::remove_if( - configDefinitions.begin(), - configDefinitions.end(), - [](const auto &definition){ + Internal::removeIf(configDefinitions, [](const auto &definition){ const auto def = definition.toString(); return def.startsWith(QLatin1String("_CSTACK_SIZE")) || def.startsWith(QLatin1String("_HEAP_SIZE")); - }), configDefinitions.end()); + }); } QVariantList configFilePaths; diff --git a/src/plugins/generator/iarew/iarewproject.cpp b/src/plugins/generator/iarew/iarewproject.cpp index f33ae4fcb..0387ae114 100644 --- a/src/plugins/generator/iarew/iarewproject.cpp +++ b/src/plugins/generator/iarew/iarewproject.cpp @@ -42,6 +42,8 @@ #include <logging/translator.h> +#include <tools/stlutils.h> + namespace qbs { IarewProject::IarewProject(const GeneratableProject &genProject, @@ -112,12 +114,10 @@ IarewProject::IarewProject(const GeneratableProject &genProject, continue; auto sourceArtifacts = group.sourceArtifacts(); // Remove the linker script artifacts. - sourceArtifacts.erase(std::remove_if(sourceArtifacts.begin(), - sourceArtifacts.end(), - [](const auto &artifact){ + Internal::removeIf(sourceArtifacts, [](const auto &artifact) { const auto tags = artifact.fileTags(); return tags.contains(QLatin1String("linkerscript")); - }), sourceArtifacts.end()); + }); if (sourceArtifacts.isEmpty()) continue; diff --git a/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp b/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp index b062ebedc..79281a153 100644 --- a/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp +++ b/src/plugins/generator/keiluv/keiluvfilesgroupspropertygroup.cpp @@ -33,6 +33,7 @@ #include <generators/generatordata.h> +#include <tools/stlutils.h> #include <tools/stringconstants.h> namespace qbs { @@ -166,12 +167,10 @@ KeiluvFilesGroupsPropertyGroup::KeiluvFilesGroupsPropertyGroup( continue; auto sourceArtifacts = group.sourceArtifacts(); // Remove the linker script artifacts. - sourceArtifacts.erase(std::remove_if(sourceArtifacts.begin(), - sourceArtifacts.end(), - [](const auto &artifact){ + Internal::removeIf(sourceArtifacts, [](const auto &artifact){ const auto tags = artifact.fileTags(); return tags.contains(QLatin1String("linkerscript")); - }), sourceArtifacts.end()); + }); if (sourceArtifacts.isEmpty()) continue; |