diff options
author | 2017-06-15 09:14:48 +0000 | |
---|---|---|
committer | 2017-06-15 09:14:51 +0000 | |
commit | 1368312bb4772a1c505452f766fdaceef4c48f6e (patch) | |
tree | 964d5140e6d0b2e9d60f01515840e4182b56544c /runtime/base/array_ref.h | |
parent | c348380cc2e5820231b50132683de8892b8d0fe9 (diff) | |
parent | e1993c7d74fc60c468f55da78da490a5ce9c2f91 (diff) |
Merge "Use ArrayRef<> instead of ArraySlice<> in JVMTI."
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); |