diff options
author | Jake Petroules <jake.petroules@qt.io> | 2017-03-14 13:31:01 -0700 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2017-03-22 11:09:37 +0000 |
commit | ea392e1932f8cdfde64b79c303eb2d704862c36a (patch) | |
tree | d24d294c93805bb6be79af1bd9386b47a2614180 /src | |
parent | c411f577f9febc42d5a26827257526700b771ede (diff) |
Replace all uses of QPair/qMakePair with std::pair/std::make_pair
Change-Id: I1cde37fcf30b066130b9f5ff13743af009a6cb4f
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'src')
20 files changed, 59 insertions, 44 deletions
diff --git a/src/app/qbs/parser/commandlineparser.cpp b/src/app/qbs/parser/commandlineparser.cpp index 074dedc47..ff42d1bab 100644 --- a/src/app/qbs/parser/commandlineparser.cpp +++ b/src/app/qbs/parser/commandlineparser.cpp @@ -60,9 +60,10 @@ #include <QtCore/qcoreapplication.h> #include <QtCore/qdir.h> #include <QtCore/qmap.h> -#include <QtCore/qpair.h> #include <QtCore/qtextstream.h> +#include <utility> + #ifdef Q_OS_UNIX #include <unistd.h> #endif @@ -291,7 +292,7 @@ QList<QVariantMap> CommandLineParser::buildConfigurations() const { // first: configuration name, second: properties. // Empty configuration name used for global properties. - typedef QPair<QString, QVariantMap> PropertyListItem; + typedef std::pair<QString, QVariantMap> PropertyListItem; QList<PropertyListItem> propertiesPerConfiguration; const QString configurationNameKey = QLatin1String("qbs.configurationName"); @@ -300,7 +301,8 @@ QList<QVariantMap> CommandLineParser::buildConfigurations() const foreach (const QString &arg, d->command->additionalArguments()) { const int sepPos = arg.indexOf(QLatin1Char(':')); if (sepPos == -1) { // New build configuration found. - propertiesPerConfiguration << qMakePair(currentConfigurationName, currentProperties); + propertiesPerConfiguration << std::make_pair(currentConfigurationName, + currentProperties); currentConfigurationName = arg; currentProperties.clear(); continue; @@ -316,7 +318,7 @@ QList<QVariantMap> CommandLineParser::buildConfigurations() const currentProperties.insert(property, representationToSettingsValue(rawString)); } } - propertiesPerConfiguration << qMakePair(currentConfigurationName, currentProperties); + propertiesPerConfiguration << std::make_pair(currentConfigurationName, currentProperties); if (propertiesPerConfiguration.count() == 1) // No configuration name specified on command line. propertiesPerConfiguration << PropertyListItem(QStringLiteral("default"), QVariantMap()); diff --git a/src/lib/corelib/api/project.cpp b/src/lib/corelib/api/project.cpp index 547aa5fa8..4d79168eb 100644 --- a/src/lib/corelib/api/project.cpp +++ b/src/lib/corelib/api/project.cpp @@ -487,20 +487,20 @@ void ProjectPrivate::addFiles(const ProductData &product, const GroupData &group updateInternalCodeLocations(internalProject, adder.itemPosition(), adder.lineOffset()); updateExternalCodeLocations(m_projectData, adder.itemPosition(), adder.lineOffset()); - QHash<QString, QPair<SourceArtifactPtr, ResolvedProductPtr>> addedSourceArtifacts; + QHash<QString, std::pair<SourceArtifactPtr, ResolvedProductPtr>> addedSourceArtifacts; for (int i = 0; i < groupContext.resolvedGroups.count(); ++i) { const ResolvedProductPtr &resolvedProduct = groupContext.resolvedProducts.at(i); const GroupPtr &resolvedGroup = groupContext.resolvedGroups.at(i); for (const QString &file : qAsConst(filesContext.absoluteFilePaths)) { const SourceArtifactPtr sa = createSourceArtifact(file, resolvedProduct, resolvedGroup, false, logger); - addedSourceArtifacts.insert(file, qMakePair(sa, resolvedProduct)); + addedSourceArtifacts.insert(file, std::make_pair(sa, resolvedProduct)); } for (const QString &file : qAsConst(filesContext.absoluteFilePathsFromWildcards)) { QBS_CHECK(resolvedGroup->wildcards); const SourceArtifactPtr sa = createSourceArtifact(file, resolvedProduct, resolvedGroup, true, logger); - addedSourceArtifacts.insert(file, qMakePair(sa, resolvedProduct)); + addedSourceArtifacts.insert(file, std::make_pair(sa, resolvedProduct)); } if (resolvedProduct->enabled) { for (const auto &pair : qAsConst(addedSourceArtifacts)) diff --git a/src/lib/corelib/api/projectdata.h b/src/lib/corelib/api/projectdata.h index 540d6b677..12bc756ae 100644 --- a/src/lib/corelib/api/projectdata.h +++ b/src/lib/corelib/api/projectdata.h @@ -44,11 +44,12 @@ #include <QtCore/qshareddata.h> #include <QtCore/qlist.h> -#include <QtCore/qpair.h> #include <QtCore/qstring.h> #include <QtCore/qstringlist.h> #include <QtCore/qvariant.h> +#include <utility> + namespace qbs { namespace Internal { class ArtifactDataPrivate; diff --git a/src/lib/corelib/buildgraph/buildgraphloader.cpp b/src/lib/corelib/buildgraph/buildgraphloader.cpp index 9c83efe15..13da1b31d 100644 --- a/src/lib/corelib/buildgraph/buildgraphloader.cpp +++ b/src/lib/corelib/buildgraph/buildgraphloader.cpp @@ -504,7 +504,7 @@ bool BuildGraphLoader::hasProductFileChanged(const QList<ResolvedProductPtr> &re const bool reExpansionRequired = std::any_of( group->wildcards->dirTimeStamps.cbegin(), group->wildcards->dirTimeStamps.cend(), - [](const QPair<QString, FileTime> &pair) { + [](const std::pair<QString, FileTime> &pair) { return FileInfo(pair.first).lastModified() > pair.second; }); if (!reExpansionRequired) diff --git a/src/lib/corelib/buildgraph/executor.cpp b/src/lib/corelib/buildgraph/executor.cpp index 949572f2f..b95f9ea5a 100644 --- a/src/lib/corelib/buildgraph/executor.cpp +++ b/src/lib/corelib/buildgraph/executor.cpp @@ -64,12 +64,12 @@ #include <tools/qttools.h> #include <QtCore/qdir.h> -#include <QtCore/qpair.h> #include <QtCore/qtimer.h> #include <algorithm> #include <climits> #include <iterator> +#include <utility> namespace qbs { namespace Internal { @@ -771,7 +771,7 @@ void Executor::rescueOldBuildData(Artifact *artifact, bool *childrenAdded = 0) "artifact '%1'").arg(artifact->fileName()); } - typedef QPair<Artifact *, bool> ChildArtifactData; + typedef std::pair<Artifact *, bool> ChildArtifactData; QList<ChildArtifactData> childrenToConnect; bool canRescue = commandListsAreEqual(artifact->transformer->commands, rad.commands); if (canRescue) { @@ -794,7 +794,7 @@ void Executor::rescueOldBuildData(Artifact *artifact, bool *childrenAdded = 0) } // TODO: Shouldn't addedByScanner always be true here? Otherwise the child would be // in the list already, no? - childrenToConnect << qMakePair(child, cd.addedByScanner); + childrenToConnect << std::make_pair(child, cd.addedByScanner); } if (canRescue) { diff --git a/src/lib/corelib/buildgraph/rulesapplicator.cpp b/src/lib/corelib/buildgraph/rulesapplicator.cpp index e76190d81..af1af3900 100644 --- a/src/lib/corelib/buildgraph/rulesapplicator.cpp +++ b/src/lib/corelib/buildgraph/rulesapplicator.cpp @@ -167,7 +167,7 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, QScriptValue &p << toStringList(inputArtifacts).join(QLatin1String(",\n ")); } - QList<QPair<const RuleArtifact *, Artifact *> > ruleArtifactArtifactMap; + QList<std::pair<const RuleArtifact *, Artifact *> > ruleArtifactArtifactMap; QList<Artifact *> outputArtifacts; m_transformer = Transformer::create(); @@ -197,7 +197,7 @@ void RulesApplicator::doApply(const ArtifactSet &inputArtifacts, QScriptValue &p if (!outputArtifact) continue; outputArtifacts << outputArtifact; - ruleArtifactArtifactMap << qMakePair(ruleArtifact.data(), outputArtifact); + ruleArtifactArtifactMap << std::make_pair(ruleArtifact.data(), outputArtifact); } } diff --git a/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.cpp b/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.cpp index 117eadc82..36574040e 100644 --- a/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.cpp +++ b/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.cpp @@ -29,16 +29,17 @@ ****************************************************************************/ #include "visualstudiosolutionglobalsection.h" -#include <QtCore/qpair.h> #include <QtCore/qvector.h> +#include <utility> + namespace qbs { class VisualStudioSolutionGlobalSectionPrivate { public: QString name; - QVector<QPair<QString, QString>> properties; + QVector<std::pair<QString, QString>> properties; bool post = false; }; @@ -74,7 +75,7 @@ void VisualStudioSolutionGlobalSection::setPost(bool post) d->post = post; } -QVector<QPair<QString, QString> > VisualStudioSolutionGlobalSection::properties() const +QVector<std::pair<QString, QString> > VisualStudioSolutionGlobalSection::properties() const { return d->properties; } diff --git a/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.h b/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.h index 9c0bf950c..e4d3d7176 100644 --- a/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.h +++ b/src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.h @@ -52,7 +52,7 @@ public: bool isPost() const; void setPost(bool post); - QVector<QPair<QString, QString> > properties() const; + QVector<std::pair<QString, QString> > properties() const; void appendProperty(const QString &key, const QString &value); private: diff --git a/src/lib/corelib/generators/visualstudio/visualstudiogenerator.cpp b/src/lib/corelib/generators/visualstudio/visualstudiogenerator.cpp index 3c1902c63..cb3698e92 100644 --- a/src/lib/corelib/generators/visualstudio/visualstudiogenerator.cpp +++ b/src/lib/corelib/generators/visualstudio/visualstudiogenerator.cpp @@ -80,7 +80,7 @@ public: QMap<QString, QSharedPointer<MSBuildProject>> msbuildProjects; QMap<QString, VisualStudioSolutionFileProject *> solutionProjects; QMap<QString, VisualStudioSolutionFolderProject *> solutionFolders; - QList<QPair<QString, bool>> propertySheetNames; + QList<std::pair<QString, bool>> propertySheetNames; void reset(); }; diff --git a/src/lib/corelib/language/language.cpp b/src/lib/corelib/language/language.cpp index fba424698..60b5f06ac 100644 --- a/src/lib/corelib/language/language.cpp +++ b/src/lib/corelib/language/language.cpp @@ -1088,7 +1088,7 @@ void SourceWildCards::expandPatterns(Set<QString> &result, const GroupConstPtr & if (baseDir.startsWith(buildDir)) return; - dirTimeStamps << qMakePair(baseDir, FileInfo(baseDir).lastModified()); + dirTimeStamps << std::make_pair(baseDir, FileInfo(baseDir).lastModified()); QStringList changed_parts = parts; bool recursive = false; @@ -1233,7 +1233,7 @@ bool operator==(const RuleArtifact::Binding &b1, const RuleArtifact::Binding &b2 uint qHash(const RuleArtifact::Binding &b) { - return qHash(qMakePair(b.code, b.name.join(QLatin1Char(',')))); + return qHash(std::make_pair(b.code, b.name.join(QLatin1Char(',')))); } bool artifactPropertyListsAreEqual(const QList<ArtifactPropertiesPtr> &l1, diff --git a/src/lib/corelib/language/language.h b/src/lib/corelib/language/language.h index acae13b44..5425b68e0 100644 --- a/src/lib/corelib/language/language.h +++ b/src/lib/corelib/language/language.h @@ -226,7 +226,7 @@ public: QStringList patterns; QStringList excludePatterns; - QVector<QPair<QString, FileTime>> dirTimeStamps; + QVector<std::pair<QString, FileTime>> dirTimeStamps; QList<SourceArtifactPtr> files; private: @@ -510,7 +510,7 @@ public: QHash<QString, QString> canonicalFilePathResults; // Results of calls to "File.canonicalFilePath()." QHash<QString, bool> fileExistsResults; // Results of calls to "File.exists()". - QHash<QPair<QString, quint32>, QStringList> directoryEntriesResults; // Results of calls to "File.directoryEntries()". + QHash<std::pair<QString, quint32>, QStringList> directoryEntriesResults; // Results of calls to "File.directoryEntries()". QHash<QString, FileTime> fileLastModifiedResults; // Results of calls to "File.lastModified()". QScopedPointer<ProjectBuildData> buildData; BuildGraphLocker *bgLocker; // This holds the system-wide build graph file lock. diff --git a/src/lib/corelib/language/moduleloader.cpp b/src/lib/corelib/language/moduleloader.cpp index 2e7f8e53d..ef22f9782 100644 --- a/src/lib/corelib/language/moduleloader.cpp +++ b/src/lib/corelib/language/moduleloader.cpp @@ -68,9 +68,9 @@ #include <QtCore/qdebug.h> #include <QtCore/qdir.h> #include <QtCore/qdiriterator.h> -#include <QtCore/qpair.h> #include <algorithm> +#include <utility> namespace qbs { namespace Internal { @@ -1707,7 +1707,7 @@ public: error.append(module.toString(), dependsLocation); throw error; } - m_dependsChain.push(qMakePair(module, dependsLocation)); + m_dependsChain.push(std::make_pair(module, dependsLocation)); } ~DependsChainManager() { m_dependsChain.pop(); } @@ -2229,7 +2229,7 @@ void ModuleLoader::resolveProbe(ProductContext *productContext, Item *parent, It const JSSourceValueConstPtr configureScript = probe->sourceProperty(QLatin1String("configure")); if (Q_UNLIKELY(!configureScript)) throw ErrorInfo(Tr::tr("Probe.configure must be set."), probe->location()); - typedef QPair<QString, QScriptValue> ProbeProperty; + typedef std::pair<QString, QScriptValue> ProbeProperty; QList<ProbeProperty> probeBindings; QVariantMap initialProperties; for (Item *obj = probe; obj; obj = obj->prototype()) { diff --git a/src/lib/corelib/language/moduleloader.h b/src/lib/corelib/language/moduleloader.h index 217c46715..fb1fbb48a 100644 --- a/src/lib/corelib/language/moduleloader.h +++ b/src/lib/corelib/language/moduleloader.h @@ -133,7 +133,7 @@ private: bool enabled; }; - typedef QMap<QPair<QString, QString>, ItemCacheValue> ModuleItemCache; + typedef QMap<std::pair<QString, QString>, ItemCacheValue> ModuleItemCache; class ContextBase { @@ -296,7 +296,7 @@ private: Set<Item *> m_disabledItems; QStack<bool> m_requiredChain; - using DependsChainEntry = QPair<QualifiedId, CodeLocation>; + using DependsChainEntry = std::pair<QualifiedId, CodeLocation>; class DependsChainManager; QStack<DependsChainEntry> m_dependsChain; diff --git a/src/lib/corelib/language/projectresolver.cpp b/src/lib/corelib/language/projectresolver.cpp index 4fa4e19c7..dfee668df 100644 --- a/src/lib/corelib/language/projectresolver.cpp +++ b/src/lib/corelib/language/projectresolver.cpp @@ -90,7 +90,7 @@ struct ProjectResolver::ProductContext QString buildDirectory; FileTags additionalFileTags; Item *item; - typedef QPair<ArtifactPropertiesPtr, CodeLocation> ArtifactPropertiesInfo; + typedef std::pair<ArtifactPropertiesPtr, CodeLocation> ArtifactPropertiesInfo; QHash<QStringList, ArtifactPropertiesInfo> artifactPropertiesPerFilter; QHash<QString, CodeLocation> sourceArtifactLocations; GroupConstPtr currentGroup; @@ -734,7 +734,7 @@ void ProjectResolver::resolveGroup(Item *item, ProjectContext *projectContext) QString ProjectResolver::sourceCodeAsFunction(const JSSourceValueConstPtr &value, const PropertyDeclaration &decl) const { - QString &scriptFunction = m_scriptFunctions[qMakePair(value->sourceCode(), + QString &scriptFunction = m_scriptFunctions[std::make_pair(value->sourceCode(), decl.functionArgumentNames())]; if (!scriptFunction.isNull()) return scriptFunction; diff --git a/src/lib/corelib/language/projectresolver.h b/src/lib/corelib/language/projectresolver.h index b944715c7..d2768959d 100644 --- a/src/lib/corelib/language/projectresolver.h +++ b/src/lib/corelib/language/projectresolver.h @@ -50,9 +50,10 @@ #include <QtCore/qhash.h> #include <QtCore/qmap.h> -#include <QtCore/qpair.h> #include <QtCore/qstringlist.h> +#include <utility> + namespace qbs { namespace Internal { @@ -137,7 +138,7 @@ private: QHash<FileTag, QList<ResolvedProductPtr> > m_productsByType; QHash<ResolvedProductPtr, Item *> m_productItemMap; mutable QHash<FileContextConstPtr, ResolvedFileContextPtr> m_fileContextMap; - mutable QHash<QPair<QStringRef, QStringList>, QString> m_scriptFunctions; + mutable QHash<std::pair<QStringRef, QStringList>, QString> m_scriptFunctions; mutable QHash<QStringRef, QString> m_sourceCode; const SetupProjectParameters &m_setupParams; const ModuleLoaderResult &m_loadResult; diff --git a/src/lib/corelib/language/scriptengine.cpp b/src/lib/corelib/language/scriptengine.cpp index 7f2ab8f29..1622769ad 100644 --- a/src/lib/corelib/language/scriptengine.cpp +++ b/src/lib/corelib/language/scriptengine.cpp @@ -52,6 +52,7 @@ #include <tools/fileinfo.h> #include <tools/profiling.h> #include <tools/qbsassert.h> +#include <tools/qttools.h> #include <QtCore/qdebug.h> #include <QtCore/qdiriterator.h> @@ -485,8 +486,9 @@ void ScriptEngine::addFileExistsResult(const QString &filePath, bool exists) void ScriptEngine::addDirectoryEntriesResult(const QString &path, QDir::Filters filters, const QStringList &entries) { - m_directoryEntriesResult.insert(QPair<QString, quint32>(path, static_cast<quint32>(filters)), - entries); + m_directoryEntriesResult.insert( + std::pair<QString, quint32>(path, static_cast<quint32>(filters)), + entries); } void ScriptEngine::addFileLastModifiedResult(const QString &filePath, const FileTime &fileTime) diff --git a/src/lib/corelib/language/scriptengine.h b/src/lib/corelib/language/scriptengine.h index 5d275c2f7..45b21f167 100644 --- a/src/lib/corelib/language/scriptengine.h +++ b/src/lib/corelib/language/scriptengine.h @@ -130,7 +130,7 @@ public: void addFileLastModifiedResult(const QString &filePath, const FileTime &fileTime); QHash<QString, QString> canonicalFilePathResults() const { return m_canonicalFilePathResult; } QHash<QString, bool> fileExistsResults() const { return m_fileExistsResult; } - QHash<QPair<QString, quint32>, QStringList> directoryEntriesResults() const + QHash<std::pair<QString, quint32>, QStringList> directoryEntriesResults() const { return m_directoryEntriesResult; } @@ -230,7 +230,7 @@ private: QHash<QString, QString> m_usedEnvironment; QHash<QString, QString> m_canonicalFilePathResult; QHash<QString, bool> m_fileExistsResult; - QHash<QPair<QString, quint32>, QStringList> m_directoryEntriesResult; + QHash<std::pair<QString, quint32>, QStringList> m_directoryEntriesResult; QHash<QString, FileTime> m_fileLastModifiedResult; QStack<QString> m_currentDirPathStack; QStack<QStringList> m_extensionSearchPathsStack; diff --git a/src/lib/corelib/tools/persistence.h b/src/lib/corelib/tools/persistence.h index d4ea17f55..49145b121 100644 --- a/src/lib/corelib/tools/persistence.h +++ b/src/lib/corelib/tools/persistence.h @@ -252,14 +252,14 @@ template<> struct PersistentPool::Helper<QProcessEnvironment> } } }; -template<typename T, typename U> struct PersistentPool::Helper<QPair<T, U>> +template<typename T, typename U> struct PersistentPool::Helper<std::pair<T, U>> { - static void store(const QPair<T, U> &pair, PersistentPool *pool) + static void store(const std::pair<T, U> &pair, PersistentPool *pool) { pool->store(pair.first); pool->store(pair.second); } - static void load(QPair<T, U> &pair, PersistentPool *pool) + static void load(std::pair<T, U> &pair, PersistentPool *pool) { pool->load(pair.first); pool->load(pair.second); diff --git a/src/lib/corelib/tools/qttools.h b/src/lib/corelib/tools/qttools.h index addd2733f..1ebfaf60d 100644 --- a/src/lib/corelib/tools/qttools.h +++ b/src/lib/corelib/tools/qttools.h @@ -47,6 +47,15 @@ QT_BEGIN_NAMESPACE uint qHash(const QStringList &list); #if QT_VERSION < QT_VERSION_CHECK(5, 7, 0) +template <typename T1, typename T2> inline uint qHash(const std::pair<T1, T2> &key, uint seed = 0) + Q_DECL_NOEXCEPT_EXPR(noexcept(qHash(key.first, seed)) && noexcept(qHash(key.second, seed))) +{ + QtPrivate::QHashCombine hash; + seed = hash(seed, key.first); + seed = hash(seed, key.second); + return seed; +} + namespace QtPrivate { template <typename T> struct QAddConst { typedef const T Type; }; } diff --git a/src/lib/corelib/tools/set.h b/src/lib/corelib/tools/set.h index 67a65aa67..99954061a 100644 --- a/src/lib/corelib/tools/set.h +++ b/src/lib/corelib/tools/set.h @@ -42,7 +42,6 @@ #include <tools/persistence.h> -#include <QtCore/qpair.h> #include <QtCore/qsharedpointer.h> #include <QtCore/qstringlist.h> #include <QtCore/qvector.h> @@ -111,7 +110,7 @@ public: iterator find(const T &v) { return std::find(m_data.begin(), m_data.end(), v); } const_iterator find(const T &v) const { return std::find(m_data.cbegin(), m_data.cend(), v); } - QPair<iterator, bool> insert(const T &v); + std::pair<iterator, bool> insert(const T &v); Set &operator+=(const T &v) { insert(v); return *this; } Set &operator|=(const T &v) { return operator+=(v); } Set &operator<<(const T &v) { return operator+=(v); } @@ -189,12 +188,12 @@ template<typename T> Set<T> &Set<T>::intersect(const Set<T> &other) return *this; } -template<typename T> QPair<typename Set<T>::iterator, bool> Set<T>::insert(const T &v) +template<typename T> std::pair<typename Set<T>::iterator, bool> Set<T>::insert(const T &v) { const auto it = std::lower_bound(m_data.begin(), m_data.end(), v); if (it == m_data.end() || v < *it) - return qMakePair(m_data.insert(it, v), true); - return qMakePair(it, false); + return std::make_pair(m_data.insert(it, v), true); + return std::make_pair(it, false); } template<typename T> bool Set<T>::contains(const Set<T> &other) const |