summaryrefslogtreecommitdiffstats
path: root/src/corelib/tools/qcollator.h
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2013-11-13 11:25:19 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-17 09:47:34 +0100
commite721cf15081c8174a38797cc88f7c5197d9e527c (patch)
treea50c471ab1867940869fe59912b97b6ea3a4e6af /src/corelib/tools/qcollator.h
parent70bc2e882ffc2ea998717d7fcde2b02a2124f52e (diff)
QCollatorSortKey: inline operator<
This code was duplicated in every qcollator_platform.cpp and identical everywhere, except in _icu, which uses a QByteArray m_key and the implementation used QByteArray::operator<, which is semantically and probably code-wise identical to what the other implementations did (after inlining). Inlining this function removes a potential maintenance problem and increases speed without violating encapsulation. Change-Id: If3e9d38a7d4326b49f0611a9f4187c53960e8a03 Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src/corelib/tools/qcollator.h')
-rw-r--r--src/corelib/tools/qcollator.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/tools/qcollator.h b/src/corelib/tools/qcollator.h
index 941637e200..781e95b10c 100644
--- a/src/corelib/tools/qcollator.h
+++ b/src/corelib/tools/qcollator.h
@@ -66,7 +66,6 @@ public:
void swap(QCollatorSortKey &other)
{ d.swap(other.d); }
- bool operator<(const QCollatorSortKey &key) const;
int compare(const QCollatorSortKey &key) const;
protected:
@@ -78,6 +77,11 @@ private:
QCollatorSortKey();
};
+inline bool operator<(const QCollatorSortKey &lhs, const QCollatorSortKey &rhs)
+{
+ return lhs.compare(rhs) < 0;
+}
+
class Q_CORE_EXPORT QCollator
{
public: