QUrl: added two-arguments qHash support
authorGiuseppe D'Angelo <dangelog@gmail.com>
Wed, 4 Apr 2012 19:19:39 +0000 (20:19 +0100)
committerQt by Nokia <qt-info@nokia.com>
Sun, 8 Apr 2012 16:25:04 +0000 (18:25 +0200)
An unnecessary #include <QHash> was also removed, and other
includes refactored.

Change-Id: Ifcd3e37d75029c142a2e55ab492b88624505670a
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/io/qtldurl.cpp
src/corelib/io/qurl.cpp
src/corelib/io/qurl.h

index 7adb402..48df01b 100644 (file)
@@ -44,6 +44,7 @@
 #include "private/qurltlds_p.h"
 #include "private/qtldurl_p.h"
 #include "QtCore/qstringlist.h"
+#include "QtCore/qhash.h"
 
 QT_BEGIN_NAMESPACE
 
index 9753474..62ad732 100644 (file)
     regardless of the Qt::FormattingOptions used.
 */
 
-/*!
- \fn uint qHash(const QUrl &url)
- \since 4.7
- \relates QUrl
-
- Computes a hash key from the normalized version of \a url.
- */
 #include "qurl.h"
 #include "qurl_p.h"
 #include "qplatformdefs.h"
 #include "qstring.h"
 #include "qstringlist.h"
 #include "qdebug.h"
+#include "qhash.h"
 #include "qdir.h"         // for QDir::fromNativeSeparators
 #include "qtldurl_p.h"
 #include "private/qipaddress_p.h"
@@ -2546,21 +2540,22 @@ QString QUrl::errorString() const
     \internal
 */
 
-/*! \fn uint qHash(const QUrl &url)
+/*! \fn uint qHash(const QUrl &url, uint seed = 0)
     \relates QHash
+    \since 5.0
 
     Returns the hash value for the \a url.
 */
-uint qHash(const QUrl &url)
+uint qHash(const QUrl &url, uint seed)
 {
     if (!url.d)
-        return qHash(-1); // the hash of an unset port (-1)
+        return qHash(-1, seed); // the hash of an unset port (-1)
 
     return qHash(url.d->scheme) ^
             qHash(url.d->userName) ^
             qHash(url.d->password) ^
             qHash(url.d->host) ^
-            qHash(url.d->port) ^
+            qHash(url.d->port, seed) ^
             qHash(url.d->path) ^
             qHash(url.d->query) ^
             qHash(url.d->fragment);
index 5fcbbf0..068fe73 100644 (file)
@@ -46,7 +46,9 @@
 #include <QtCore/qbytearray.h>
 #include <QtCore/qobjectdefs.h>
 #include <QtCore/qstring.h>
-#include <QtCore/qhash.h>
+#include <QtCore/qlist.h>
+#include <QtCore/qpair.h>
+#include <QtCore/qglobal.h>
 
 QT_BEGIN_HEADER
 
@@ -304,7 +306,7 @@ public:
     static QByteArray toAce(const QString &);
     static QStringList idnWhitelist();
     static void setIdnWhitelist(const QStringList &);
-    friend Q_CORE_EXPORT uint qHash(const QUrl &url);
+    friend Q_CORE_EXPORT uint qHash(const QUrl &url, uint seed = 0);
 
 private:
     QUrlPrivate *d;