Update tst_bench_qhash hash functions to use size_t
Pre-requisite for a fix for qHash. The Qt50String inherits from QString and becomes ambiguous once it no longer goes through a catch-all template function because qHash(QString, size_t) has a better match for the second argument. Change-Id: I23c7afb1b3aa167d40dc4838e82b7763de015f6b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> (cherry picked from commit 7fea2d34fb3e9d13deb584595d119c870389b912) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
4a9fb8c475
commit
ea730ed599
@ -5,9 +5,9 @@
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
uint qHash(const Qt4String &str)
|
||||
size_t qHash(const Qt4String &str)
|
||||
{
|
||||
int n = str.length();
|
||||
qsizetype n = str.length();
|
||||
const QChar *p = str.unicode();
|
||||
uint h = 0;
|
||||
|
||||
@ -19,11 +19,11 @@ uint qHash(const Qt4String &str)
|
||||
return h;
|
||||
}
|
||||
|
||||
uint qHash(const Qt50String &key, uint seed)
|
||||
size_t qHash(const Qt50String &key, size_t seed)
|
||||
{
|
||||
const QChar *p = key.unicode();
|
||||
int len = key.size();
|
||||
uint h = seed;
|
||||
qsizetype len = key.size();
|
||||
size_t h = seed;
|
||||
for (int i = 0; i < len; ++i)
|
||||
h = 31 * h + p[i].unicode();
|
||||
return h;
|
||||
@ -40,10 +40,10 @@ uint qHash(const Qt50String &key, uint seed)
|
||||
// Still, we can avoid writing the multiplication as "(h << 5) - h"
|
||||
// -- the compiler will turn it into a shift and an addition anyway
|
||||
// (for instance, gcc 4.4 does that even at -O0).
|
||||
uint qHash(const JavaString &str)
|
||||
size_t qHash(const JavaString &str)
|
||||
{
|
||||
const unsigned short *p = (unsigned short *)str.constData();
|
||||
const int len = str.size();
|
||||
const qsizetype len = str.size();
|
||||
|
||||
uint h = 0;
|
||||
|
||||
|
@ -10,7 +10,7 @@ struct Qt4String : QString
|
||||
};
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
uint qHash(const Qt4String &);
|
||||
size_t qHash(const Qt4String &);
|
||||
QT_END_NAMESPACE
|
||||
|
||||
struct Qt50String : QString
|
||||
@ -20,7 +20,7 @@ struct Qt50String : QString
|
||||
};
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
uint qHash(const Qt50String &, uint seed = 0);
|
||||
size_t qHash(const Qt50String &, size_t seed = 0);
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
||||
@ -31,6 +31,6 @@ struct JavaString : QString
|
||||
};
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
uint qHash(const JavaString &);
|
||||
size_t qHash(const JavaString &);
|
||||
QT_END_NAMESPACE
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user