Replace internal qt_hash(QString(Ref)) functions with one taking QStringView

Change-Id: I49d07689e642d26b4bceda5cace738aadd828ce0
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru>
This commit is contained in:
Marc Mutz 2017-03-29 18:41:01 +02:00
parent a1421e4787
commit 35b897218c
2 changed files with 4 additions and 15 deletions

View File

@ -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());
}
/*

View File

@ -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 <class T> inline uint qHash(const T *key, uint seed = 0) Q_DECL_NOTHROW
{