aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJake Petroules <jake.petroules@qt.io>2017-03-14 13:31:01 -0700
committerJoerg Bornemann <joerg.bornemann@qt.io>2017-03-22 11:09:37 +0000
commitea392e1932f8cdfde64b79c303eb2d704862c36a (patch)
treed24d294c93805bb6be79af1bd9386b47a2614180 /src
parentc411f577f9febc42d5a26827257526700b771ede (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')
-rw-r--r--src/app/qbs/parser/commandlineparser.cpp10
-rw-r--r--src/lib/corelib/api/project.cpp6
-rw-r--r--src/lib/corelib/api/projectdata.h3
-rw-r--r--src/lib/corelib/buildgraph/buildgraphloader.cpp2
-rw-r--r--src/lib/corelib/buildgraph/executor.cpp6
-rw-r--r--src/lib/corelib/buildgraph/rulesapplicator.cpp4
-rw-r--r--src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.cpp7
-rw-r--r--src/lib/corelib/generators/visualstudio/solution/visualstudiosolutionglobalsection.h2
-rw-r--r--src/lib/corelib/generators/visualstudio/visualstudiogenerator.cpp2
-rw-r--r--src/lib/corelib/language/language.cpp4
-rw-r--r--src/lib/corelib/language/language.h4
-rw-r--r--src/lib/corelib/language/moduleloader.cpp6
-rw-r--r--src/lib/corelib/language/moduleloader.h4
-rw-r--r--src/lib/corelib/language/projectresolver.cpp4
-rw-r--r--src/lib/corelib/language/projectresolver.h5
-rw-r--r--src/lib/corelib/language/scriptengine.cpp6
-rw-r--r--src/lib/corelib/language/scriptengine.h4
-rw-r--r--src/lib/corelib/tools/persistence.h6
-rw-r--r--src/lib/corelib/tools/qttools.h9
-rw-r--r--src/lib/corelib/tools/set.h9
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