Allow compare QLatin1String to QLatin1String
authorKonstantin Ritt <ritt.ks@gmail.com>
Wed, 23 May 2012 01:10:55 +0000 (04:10 +0300)
committerQt by Nokia <qt-info@nokia.com>
Fri, 1 Jun 2012 01:16:17 +0000 (03:16 +0200)
even if QT_NO_CAST_FROM_ASCII is defined.

Change-Id: I8c4deceedb6f3e3cd5bdf72d6e9d189c509c9ff3
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
src/corelib/tools/qstring.h

index b563383..77bfacc 100644 (file)
@@ -982,6 +982,23 @@ inline bool operator!=(QString::Null, QString::Null) { return false; }
 inline bool operator!=(QString::Null, const QString &s) { return !s.isNull(); }
 inline bool operator!=(const QString &s, QString::Null) { return !s.isNull(); }
 
+inline bool operator==(QLatin1String s1, QLatin1String s2)
+{ return (s1.size() == s2.size() && !memcmp(s1.latin1(), s2.latin1(), s1.size())); }
+inline bool operator!=(QLatin1String s1, QLatin1String s2)
+{ return (s1.size() != s2.size() || memcmp(s1.latin1(), s2.latin1(), s1.size())); }
+inline bool operator<(QLatin1String s1, QLatin1String s2)
+{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
+  return (r < 0) || (r == 0 && s1.size() < s2.size()); }
+inline bool operator<=(QLatin1String s1, QLatin1String s2)
+{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
+  return (r < 0) || (r == 0 && s1.size() <= s2.size()); }
+inline bool operator>(QLatin1String s1, QLatin1String s2)
+{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
+  return (r > 0) || (r == 0 && s1.size() > s2.size()); }
+inline bool operator>=(QLatin1String s1, QLatin1String s2)
+{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
+  return (r > 0) || (r == 0 && s1.size() >= s2.size()); }
+
 inline bool QLatin1String::operator==(const QString &s) const
 { return s == *this; }
 inline bool QLatin1String::operator!=(const QString &s) const
@@ -1035,23 +1052,6 @@ inline QT_ASCII_CAST_WARN bool operator<=(const char *s1, QLatin1String s2)
 inline QT_ASCII_CAST_WARN bool operator>=(const char *s1, QLatin1String s2)
 { return (QString::fromUtf8(s1) >= s2); }
 
-inline bool operator==(QLatin1String s1, QLatin1String s2)
-{ return (s1.size() == s2.size() && !memcmp(s1.latin1(), s2.latin1(), s1.size())); }
-inline bool operator!=(QLatin1String s1, QLatin1String s2)
-{ return (s1.size() != s2.size() || memcmp(s1.latin1(), s2.latin1(), s1.size())); }
-inline bool operator<(QLatin1String s1, QLatin1String s2)
-{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
-  return (r < 0) || (r == 0 && s1.size() < s2.size()); }
-inline bool operator<=(QLatin1String s1, QLatin1String s2)
-{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
-  return (r < 0) || (r == 0 && s1.size() <= s2.size()); }
-inline bool operator>(QLatin1String s1, QLatin1String s2)
-{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
-  return (r > 0) || (r == 0 && s1.size() > s2.size()); }
-inline bool operator>=(QLatin1String s1, QLatin1String s2)
-{ int r = memcmp(s1.latin1(), s2.latin1(), qMin(s1.size(), s2.size()));
-  return (r > 0) || (r == 0 && s1.size() >= s2.size()); }
-
 inline QT_ASCII_CAST_WARN bool QLatin1String::operator==(const char *s) const
 { return QString::fromUtf8(s) == *this; }
 inline QT_ASCII_CAST_WARN bool QLatin1String::operator!=(const char *s) const