summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks/corelib/tools/qhash/tst_bench_qhash.h
blob: 501b4a8b7f1bc6704aedb536fddb4f3c6545be9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only

#include <QHashFunctions>
#include <QString>

struct OwningLatin1String : QByteArray
{
    OwningLatin1String() = default;
    OwningLatin1String(const QByteArray &a) : QByteArray(a) {}
    OwningLatin1String(QByteArray &&a) : QByteArray(std::move(a)) {}
};
QT_BEGIN_NAMESPACE
inline size_t qHash(const OwningLatin1String &s, size_t seed = 0)
{ return qHash(QLatin1StringView(s), seed); }
QT_END_NAMESPACE

struct Qt4String : QString
{
    Qt4String() {}
    Qt4String(const QString &s) : QString(s) {}
};

QT_BEGIN_NAMESPACE
size_t qHash(const Qt4String &, size_t = 0);
QT_END_NAMESPACE

struct Qt50String : QString
{
    Qt50String() {}
    Qt50String(const QString &s) : QString(s) {}
};

QT_BEGIN_NAMESPACE
size_t qHash(const Qt50String &, size_t seed = 0);
QT_END_NAMESPACE


struct JavaString : QString
{
    JavaString() {}
    JavaString(const QString &s) : QString(s) {}
};

QT_BEGIN_NAMESPACE
size_t qHash(const JavaString &, size_t = 0);
QT_END_NAMESPACE