Workaround MSVC2008 build failure after switching to std::lower_bound
authorGiuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Thu, 20 Sep 2012 16:32:37 +0000 (18:32 +0200)
committerThe Qt Project <gerrit-noreply@qt-project.org>
Thu, 27 Sep 2012 13:47:21 +0000 (15:47 +0200)
MSVC2008 tries to see if a container is fully ordered.

This causes a build failure when operator< is not defined
between the elements in the container (but is instead defined
between the element type and the item passed to std::lower_bound).

Change-Id: I093d6f67f64a247f0aae763acb35ee73614f4208
Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
src/network/access/qnetworkaccessauthenticationmanager_p.h

index ad7102a..992cc34 100644 (file)
@@ -79,6 +79,10 @@ public:
 Q_DECLARE_TYPEINFO(QNetworkAuthenticationCredential, Q_MOVABLE_TYPE);
 inline bool operator<(const QNetworkAuthenticationCredential &t1, const QString &t2)
 { return t1.domain < t2; }
+inline bool operator<(const QString &t1, const QNetworkAuthenticationCredential &t2)
+{ return t1 < t2.domain; }
+inline bool operator<(const QNetworkAuthenticationCredential &t1, const QNetworkAuthenticationCredential &t2)
+{ return t1.domain < t2.domain; }
 
 class QNetworkAccessAuthenticationManager
 {