diff options
author | Sérgio Martins <sergio.martins@kdab.com> | 2015-06-24 14:34:45 +0100 |
---|---|---|
committer | Sérgio Martins <sergio.martins@kdab.com> | 2015-06-27 11:48:33 +0000 |
commit | a5306c35d1cf1e471e2a073aa1ba279081ea47ee (patch) | |
tree | fc0bb6dd2e40cbcf92286121cd9a4bf5283ba775 /src/corelib/tools/qlist.h | |
parent | a8a8cdd24b99f1d984e8395d77025d1d11817afd (diff) |
QList: Introduce constFirst() and constEnd()
Allows to easily prevent detaching in common code like: getList().first()
[ChangeLog][QtCore][QList] Added the convenience constFirst and constLast functions.
Task-number: QTBUG-46026
Change-Id: I51ecb51fe91fc7d993ad35b5c7392f4da88e5f7b
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/tools/qlist.h')
-rw-r--r-- | src/corelib/tools/qlist.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/corelib/tools/qlist.h b/src/corelib/tools/qlist.h index e446a6625b..ac46dc3244 100644 --- a/src/corelib/tools/qlist.h +++ b/src/corelib/tools/qlist.h @@ -331,9 +331,11 @@ public: inline int count() const { return p.size(); } inline int length() const { return p.size(); } // Same as count() inline T& first() { Q_ASSERT(!isEmpty()); return *begin(); } + inline const T& constFirst() const { return first(); } inline const T& first() const { Q_ASSERT(!isEmpty()); return at(0); } T& last() { Q_ASSERT(!isEmpty()); return *(--end()); } const T& last() const { Q_ASSERT(!isEmpty()); return at(count() - 1); } + inline const T& constLast() const { return last(); } inline void removeFirst() { Q_ASSERT(!isEmpty()); erase(begin()); } inline void removeLast() { Q_ASSERT(!isEmpty()); erase(--end()); } inline bool startsWith(const T &t) const { return !isEmpty() && first() == t; } |