diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2015-10-23 14:01:35 +0200 |
---|---|---|
committer | Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> | 2015-10-23 14:45:03 +0200 |
commit | 790aef362fd195adf97d8c780a7cbbbade27d51f (patch) | |
tree | 8be464687ab21806cfe9f7ada27098b563aa41b2 /src/corelib/tools/qstring.h | |
parent | 9720efbd1035c2e939b0581163e6d804c713dd96 (diff) | |
parent | 07475c662eb73c833da2d461b8ef2702ca1e2cfb (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Conflicts:
.qmake.conf
configure
src/corelib/global/qglobal.h
src/tools/qdoc/node.cpp
src/tools/qdoc/qdocdatabase.cpp
tests/auto/corelib/io/qsettings/tst_qsettings.cpp
tools/configure/configureapp.cpp
Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
Diffstat (limited to 'src/corelib/tools/qstring.h')
-rw-r--r-- | src/corelib/tools/qstring.h | 53 |
1 files changed, 27 insertions, 26 deletions
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 47c4272389..ba07259e77 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -83,20 +83,21 @@ template <typename T> class QVector; class QLatin1String { public: - Q_DECL_CONSTEXPR inline explicit QLatin1String(const char *s) : m_size(s ? int(strlen(s)) : 0), m_data(s) {} - Q_DECL_CONSTEXPR inline explicit QLatin1String(const char *s, int sz) : m_size(sz), m_data(s) {} - inline explicit QLatin1String(const QByteArray &s) : m_size(s.size()), m_data(s.constData()) {} - - inline const char *latin1() const { return m_data; } - inline int size() const { return m_size; } - inline const char *data() const { return m_data; } - - inline bool operator==(const QString &s) const; - inline bool operator!=(const QString &s) const; - inline bool operator>(const QString &s) const; - inline bool operator<(const QString &s) const; - inline bool operator>=(const QString &s) const; - inline bool operator<=(const QString &s) const; + Q_DECL_CONSTEXPR inline QLatin1String() Q_DECL_NOTHROW : m_size(0), m_data(Q_NULLPTR) {} + Q_DECL_CONSTEXPR inline explicit QLatin1String(const char *s) Q_DECL_NOTHROW : m_size(s ? int(strlen(s)) : 0), m_data(s) {} + Q_DECL_CONSTEXPR inline explicit QLatin1String(const char *s, int sz) Q_DECL_NOTHROW : m_size(sz), m_data(s) {} + inline explicit QLatin1String(const QByteArray &s) Q_DECL_NOTHROW : m_size(s.size()), m_data(s.constData()) {} + + Q_DECL_CONSTEXPR const char *latin1() const Q_DECL_NOTHROW { return m_data; } + Q_DECL_CONSTEXPR int size() const Q_DECL_NOTHROW { return m_size; } + Q_DECL_CONSTEXPR const char *data() const Q_DECL_NOTHROW { return m_data; } + + inline bool operator==(const QString &s) const Q_DECL_NOTHROW; + inline bool operator!=(const QString &s) const Q_DECL_NOTHROW; + inline bool operator>(const QString &s) const Q_DECL_NOTHROW; + inline bool operator<(const QString &s) const Q_DECL_NOTHROW; + inline bool operator>=(const QString &s) const Q_DECL_NOTHROW; + inline bool operator<=(const QString &s) const Q_DECL_NOTHROW; #if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII) inline QT_ASCII_CAST_WARN bool operator==(const char *s) const; @@ -1130,34 +1131,34 @@ 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) +inline bool operator==(QLatin1String s1, QLatin1String s2) Q_DECL_NOTHROW { return (s1.size() == s2.size() && !memcmp(s1.latin1(), s2.latin1(), s1.size())); } -inline bool operator!=(QLatin1String s1, QLatin1String s2) +inline bool operator!=(QLatin1String s1, QLatin1String s2) Q_DECL_NOTHROW { return (s1.size() != s2.size() || memcmp(s1.latin1(), s2.latin1(), s1.size())); } -inline bool operator<(QLatin1String s1, QLatin1String s2) +inline bool operator<(QLatin1String s1, QLatin1String s2) Q_DECL_NOTHROW { 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) +inline bool operator<=(QLatin1String s1, QLatin1String s2) Q_DECL_NOTHROW { 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) +inline bool operator>(QLatin1String s1, QLatin1String s2) Q_DECL_NOTHROW { 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) +inline bool operator>=(QLatin1String s1, QLatin1String s2) Q_DECL_NOTHROW { 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 +inline bool QLatin1String::operator==(const QString &s) const Q_DECL_NOTHROW { return s == *this; } -inline bool QLatin1String::operator!=(const QString &s) const +inline bool QLatin1String::operator!=(const QString &s) const Q_DECL_NOTHROW { return s != *this; } -inline bool QLatin1String::operator>(const QString &s) const +inline bool QLatin1String::operator>(const QString &s) const Q_DECL_NOTHROW { return s < *this; } -inline bool QLatin1String::operator<(const QString &s) const +inline bool QLatin1String::operator<(const QString &s) const Q_DECL_NOTHROW { return s > *this; } -inline bool QLatin1String::operator>=(const QString &s) const +inline bool QLatin1String::operator>=(const QString &s) const Q_DECL_NOTHROW { return s <= *this; } -inline bool QLatin1String::operator<=(const QString &s) const +inline bool QLatin1String::operator<=(const QString &s) const Q_DECL_NOTHROW { return s >= *this; } #if !defined(QT_NO_CAST_FROM_ASCII) && !defined(QT_RESTRICTED_CAST_FROM_ASCII) |