diff options
author | 2017-06-14 17:01:38 +0100 | |
---|---|---|
committer | 2017-06-14 17:02:49 +0100 | |
commit | e1993c7d74fc60c468f55da78da490a5ce9c2f91 (patch) | |
tree | e0dc2f1996313b8ead87263b8a3728b7d4ebcd34 /runtime/base/array_ref.h | |
parent | fed9cb178be878f4e5ff862ac78ae2cf5ad305d3 (diff) |
Use ArrayRef<> instead of ArraySlice<> in JVMTI.
And clean up ArrayRef<> a little bit.
Test: m test-art-host-gtest
Test: testrunner.py --host
Change-Id: I4832006b991fc87b2baec9aa605ff70653b029b3
Diffstat (limited to 'runtime/base/array_ref.h')
-rw-r--r-- | runtime/base/array_ref.h | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/runtime/base/array_ref.h b/runtime/base/array_ref.h index 00b9bad6bf..630a036f3d 100644 --- a/runtime/base/array_ref.h +++ b/runtime/base/array_ref.h @@ -40,17 +40,17 @@ namespace art { template <typename T> class ArrayRef { public: - typedef T value_type; - typedef T& reference; - typedef const T& const_reference; - typedef T* pointer; - typedef const T* const_pointer; - typedef T* iterator; - typedef const T* const_iterator; - typedef std::reverse_iterator<iterator> reverse_iterator; - typedef std::reverse_iterator<const_iterator> const_reverse_iterator; - typedef ptrdiff_t difference_type; - typedef size_t size_type; + using value_type = T; + using reference = T&; + using const_reference = const T&; + using pointer = T*; + using const_pointer = const T*; + using iterator = T*; + using const_iterator = const T*; + using reverse_iterator = std::reverse_iterator<iterator>; + using const_reverse_iterator = std::reverse_iterator<const_iterator>; + using difference_type = ptrdiff_t; + using size_type = size_t; // Constructors. @@ -140,22 +140,22 @@ class ArrayRef { } reference front() { - DCHECK_NE(size_, 0u); + DCHECK(!empty()); return array_[0]; } const_reference front() const { - DCHECK_NE(size_, 0u); + DCHECK(!empty()); return array_[0]; } reference back() { - DCHECK_NE(size_, 0u); + DCHECK(!empty()); return array_[size_ - 1u]; } const_reference back() const { - DCHECK_NE(size_, 0u); + DCHECK(!empty()); return array_[size_ - 1u]; } @@ -165,14 +165,17 @@ class ArrayRef { ArrayRef SubArray(size_type pos) { return SubArray(pos, size() - pos); } + ArrayRef<const T> SubArray(size_type pos) const { return SubArray(pos, size() - pos); } + ArrayRef SubArray(size_type pos, size_type length) { DCHECK_LE(pos, size()); DCHECK_LE(length, size() - pos); return ArrayRef(data() + pos, length); } + ArrayRef<const T> SubArray(size_type pos, size_type length) const { DCHECK_LE(pos, size()); DCHECK_LE(length, size() - pos); |