diff options
author | 2018-05-09 13:10:44 -0600 | |
---|---|---|
committer | 2018-05-09 19:54:11 +0000 | |
commit | f112ea2cb2dd7e6a45d0c35c7f514879eb92deb8 (patch) | |
tree | 1d0548cf3fbecafa8b2319c541ad88a535ff293e /src/core | |
parent | e0dc9432d8836ec34a3ef90eabc39eadc3d1db90 (diff) |
Support C++11 range-for loops in SkTInternalLList
Bug: skia:
Change-Id: Iad5e06fac95c5b805f3735c106103e5a07975b5d
Reviewed-on: https://skia-review.googlesource.com/127106
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/SkTInternalLList.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/SkTInternalLList.h b/src/core/SkTInternalLList.h index df06d8a255..2f43f1c1eb 100644 --- a/src/core/SkTInternalLList.h +++ b/src/core/SkTInternalLList.h @@ -250,10 +250,25 @@ public: return fCurr; } + /** + * C++11 range-for interface. + */ + bool operator!=(const Iter& that) { return fCurr != that.fCurr; } + T* operator*() { return this->get(); } + void operator++() { this->next(); } + private: T* fCurr; }; + Iter begin() const { + Iter iter; + iter.init(*this, Iter::kHead_IterStart); + return iter; + } + + Iter end() const { return Iter(); } + #ifdef SK_DEBUG void validate() const { SkASSERT(!fHead == !fTail); |