|
@@ -32,19 +32,20 @@ public:
|
|
|
using ConstIterator = SimpleIterator<const NonnullPtrVector, const T>;
|
|
|
using Iterator = SimpleIterator<NonnullPtrVector, T>;
|
|
|
using ReverseIterator = SimpleReverseIterator<NonnullPtrVector, T>;
|
|
|
+ using ReverseConstIterator = SimpleReverseIterator<NonnullPtrVector, T const>;
|
|
|
|
|
|
ALWAYS_INLINE constexpr ConstIterator begin() const { return ConstIterator::begin(*this); }
|
|
|
ALWAYS_INLINE constexpr Iterator begin() { return Iterator::begin(*this); }
|
|
|
ALWAYS_INLINE constexpr ReverseIterator rbegin() { return ReverseIterator::rbegin(*this); }
|
|
|
+ ALWAYS_INLINE constexpr ReverseConstIterator rbegin() const { return ReverseConstIterator::rbegin(*this); }
|
|
|
|
|
|
ALWAYS_INLINE constexpr ConstIterator end() const { return ConstIterator::end(*this); }
|
|
|
ALWAYS_INLINE constexpr Iterator end() { return Iterator::end(*this); }
|
|
|
ALWAYS_INLINE constexpr ReverseIterator rend() { return ReverseIterator::rend(*this); }
|
|
|
+ ALWAYS_INLINE constexpr ReverseConstIterator rend() const { return ReverseConstIterator::rend(*this); }
|
|
|
|
|
|
- ALWAYS_INLINE constexpr auto in_reverse()
|
|
|
- {
|
|
|
- return ReverseWrapper::in_reverse(*this);
|
|
|
- }
|
|
|
+ ALWAYS_INLINE constexpr auto in_reverse() { return ReverseWrapper::in_reverse(*this); }
|
|
|
+ ALWAYS_INLINE constexpr auto in_reverse() const { return ReverseWrapper::in_reverse(*this); }
|
|
|
|
|
|
ALWAYS_INLINE PtrType& ptr_at(size_t index) { return Base::at(index); }
|
|
|
ALWAYS_INLINE const PtrType& ptr_at(size_t index) const { return Base::at(index); }
|