diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2011-07-04 12:21:06 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-07-07 12:30:00 +0200 |
commit | f4c07fe72168778cd6ea5a6c07fb6add91b2e3d0 (patch) | |
tree | 866cf043306325db0de2ee7dcf690fae32990bb1 /src/corelib/tools/qstring.h | |
parent | ee85e9cc10bc6874c892b09fa54b5dbd79854069 (diff) |
Unify QLatin1String and QLatin1Literal
Unify the two classes and get rid of one
TODO item for Qt 5.
Using strlen in the constructor of QLatin1String works,
as the compiler can do the calculation at compile time.
Change-Id: I59d98c71a34b86d4211fa0d8cfd40b7d612c5a78
Reviewed-on: http://codereview.qt.nokia.com/1219
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Olivier Goffart <olivier.goffart@nokia.com>
Diffstat (limited to 'src/corelib/tools/qstring.h')
-rw-r--r-- | src/corelib/tools/qstring.h | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 81dff3d309..e0473e411a 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -610,11 +610,11 @@ public: class Q_CORE_EXPORT QLatin1String { public: - inline explicit QLatin1String(const char *s) : chars(s) {} - inline QLatin1String &operator=(const QLatin1String &other) - { chars = other.chars; return *this; } + inline explicit QLatin1String(const char *s) : m_size(s ? strlen(s) : 0), m_data(s) {} - inline const char *latin1() const { return chars; } + 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 { return s == *this; } @@ -642,9 +642,12 @@ public: inline QT_ASCII_CAST_WARN bool operator>=(const char *s) const { return QString::fromAscii(s) <= *this; } private: - const char *chars; + int m_size; + const char *m_data; }; +// Qt 4.x compatibility +typedef QLatin1String QLatin1Literal; inline QString::QString(const QLatin1String &aLatin1) : d(fromLatin1_helper(aLatin1.latin1())) |