From 35b897218c3d3ff902c5e38604f5ecc15c4717d1 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 29 Mar 2017 18:41:01 +0200 Subject: [PATCH] Replace internal qt_hash(QString(Ref)) functions with one taking QStringView Change-Id: I49d07689e642d26b4bceda5cace738aadd828ce0 Reviewed-by: Olivier Goffart (Woboq GmbH) Reviewed-by: Anton Kudryavtsev --- src/corelib/tools/qhash.cpp | 16 +++------------- src/corelib/tools/qhashfunctions.h | 3 +-- 2 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/corelib/tools/qhash.cpp b/src/corelib/tools/qhash.cpp index 334bd52f1e0..2d974145775 100644 --- a/src/corelib/tools/qhash.cpp +++ b/src/corelib/tools/qhash.cpp @@ -406,7 +406,7 @@ void qSetGlobalQHashSeed(int newSeed) The qt_hash functions must *never* change their results. */ -static uint qt_hash(const QChar *p, int n) Q_DECL_NOTHROW +static uint qt_hash(const QChar *p, size_t n) Q_DECL_NOTHROW { uint h = 0; @@ -420,20 +420,10 @@ static uint qt_hash(const QChar *p, int n) Q_DECL_NOTHROW /*! \internal - \overload */ -uint qt_hash(const QString &key) Q_DECL_NOTHROW +uint qt_hash(QStringView key) Q_DECL_NOTHROW { - return qt_hash(key.unicode(), key.size()); -} - -/*! - \internal - \overload -*/ -uint qt_hash(const QStringRef &key) Q_DECL_NOTHROW -{ - return qt_hash(key.unicode(), key.size()); + return qt_hash(key.data(), key.size()); } /* diff --git a/src/corelib/tools/qhashfunctions.h b/src/corelib/tools/qhashfunctions.h index 0eb6c1b5ce7..6c271208235 100644 --- a/src/corelib/tools/qhashfunctions.h +++ b/src/corelib/tools/qhashfunctions.h @@ -99,8 +99,7 @@ Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qHash(const QString &key, uint seed = 0) Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qHash(const QStringRef &key, uint seed = 0) Q_DECL_NOTHROW; Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qHash(const QBitArray &key, uint seed = 0) Q_DECL_NOTHROW; Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qHash(QLatin1String key, uint seed = 0) Q_DECL_NOTHROW; -Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qt_hash(const QString &key) Q_DECL_NOTHROW; -Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qt_hash(const QStringRef &key) Q_DECL_NOTHROW; +Q_CORE_EXPORT Q_DECL_PURE_FUNCTION uint qt_hash(QStringView key) Q_DECL_NOTHROW; template inline uint qHash(const T *key, uint seed = 0) Q_DECL_NOTHROW {