[Bug] Fixed ZoneVector reverse iterators and rbegin()/rend() - bug introduced by a previous commit

This commit is contained in:
kobalicek
2020-09-12 09:32:38 +02:00
parent 358d944bf2
commit 94061cd294
2 changed files with 10 additions and 8 deletions

View File

@@ -312,6 +312,8 @@ static void test_zone_vector(ZoneAllocator* allocator, const char* typeName) {
EXPECT(vec.size() == uint32_t(kMax));
EXPECT(vec.indexOf(T(kMax - 1)) == uint32_t(kMax - 1));
EXPECT(vec.rbegin()[0] == kMax - 1);
vec.release(allocator);
}

View File

@@ -157,8 +157,8 @@ public:
typedef T* iterator;
typedef const T* const_iterator;
typedef std::reverse_iterator<T> reverse_iterator;
typedef std::reverse_iterator<const T> const_reverse_iterator;
typedef std::reverse_iterator<iterator> reverse_iterator;
typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
//! \name Construction & Destruction
//! \{
@@ -198,17 +198,17 @@ public:
inline iterator end() noexcept { return iterator(data() + _size); };
inline const_iterator end() const noexcept { return const_iterator(data() + _size); };
inline reverse_iterator rbegin() noexcept { return reverse_iterator(data()); };
inline const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(data()); };
inline reverse_iterator rbegin() noexcept { return reverse_iterator(end()); };
inline const_reverse_iterator rbegin() const noexcept { return const_reverse_iterator(end()); };
inline reverse_iterator rend() noexcept { return reverse_iterator(data() + _size); };
inline const_reverse_iterator rend() const noexcept { return const_reverse_iterator(data() + _size); };
inline reverse_iterator rend() noexcept { return reverse_iterator(begin()); };
inline const_reverse_iterator rend() const noexcept { return const_reverse_iterator(begin()); };
inline const_iterator cbegin() const noexcept { return const_iterator(data()); };
inline const_iterator cend() const noexcept { return const_iterator(data() + _size); };
inline const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(data()); };
inline const_reverse_iterator crend() const noexcept { return const_reverse_iterator(data() + _size); };
inline const_reverse_iterator crbegin() const noexcept { return const_reverse_iterator(cend()); };
inline const_reverse_iterator crend() const noexcept { return const_reverse_iterator(cbegin()); };
//! \}