diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2011-08-29 17:49:48 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-03-17 09:10:57 +0100 |
commit | d823646db3e9f72569717dc656e5b2e4d3ce7709 (patch) | |
tree | 734f7f11b381eb890d406b05f93424e3081795d6 /src/corelib/tools/qstring.h | |
parent | 7c7e47493edec987569a60e12456de5a2c62a230 (diff) |
containers: add C++11-style c{begin,end}() as alias for const{Begin,End}()
C++11 adds cbegin()/cend() functions for the same reason Qt has
constBegin()/constEnd(). This patch adds these functions to the
Qt containers with the same implementation as constBegin()/constEnd().
It also fixes the return types in the documentation of existing
constFind() functions (documentation only).
C++11 only adds cbegin()/cend() (and crbegin()/crend(), which Qt doesn't have).
In particular, it doesn't add cfind(), so I didn't supply these, even though
Qt comes with constFind().
This is a forward-port of https://qt.gitorious.org/qt/qt/merge_requests/1365.
Change-Id: Ida086b64246b24e25254eafbcb06c8e33388502b
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/tools/qstring.h')
-rw-r--r-- | src/corelib/tools/qstring.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/corelib/tools/qstring.h b/src/corelib/tools/qstring.h index 4d02fbe66d..437e98b662 100644 --- a/src/corelib/tools/qstring.h +++ b/src/corelib/tools/qstring.h @@ -558,9 +558,11 @@ public: typedef const_iterator ConstIterator; iterator begin(); const_iterator begin() const; + const_iterator cbegin() const; const_iterator constBegin() const; iterator end(); const_iterator end() const; + const_iterator cend() const; const_iterator constEnd() const; // STL compatibility @@ -904,12 +906,16 @@ inline QString::iterator QString::begin() { detach(); return reinterpret_cast<QChar*>(d->data()); } inline QString::const_iterator QString::begin() const { return reinterpret_cast<const QChar*>(d->data()); } +inline QString::const_iterator QString::cbegin() const +{ return reinterpret_cast<const QChar*>(d->data()); } inline QString::const_iterator QString::constBegin() const { return reinterpret_cast<const QChar*>(d->data()); } inline QString::iterator QString::end() { detach(); return reinterpret_cast<QChar*>(d->data() + d->size); } inline QString::const_iterator QString::end() const { return reinterpret_cast<const QChar*>(d->data() + d->size); } +inline QString::const_iterator QString::cend() const +{ return reinterpret_cast<const QChar*>(d->data() + d->size); } inline QString::const_iterator QString::constEnd() const { return reinterpret_cast<const QChar*>(d->data() + d->size); } inline bool QString::contains(const QString &s, Qt::CaseSensitivity cs) const |