base: Remove begin() and end() from CircleBuf.
authorGabe Black <gabe.black@gmail.com>
Tue, 12 Jan 2021 09:02:49 +0000 (01:02 -0800)
committerGabe Black <gabe.black@gmail.com>
Wed, 13 Jan 2021 02:33:58 +0000 (02:33 +0000)
These functions return iterators which are inconsistent with the usage
model for this type. It should be accessed using the peek, push, and pop
methods and not iterators. If you need a class with iterators which is
oriented around accessing individual elements at a time, the
CircularQueue type is likely a better choice.

Change-Id: I9f37eab12e490b63d870d378a91f601dad353f25
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/38998
Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Maintainer: Andreas Sandberg <andreas.sandberg@arm.com>
Tested-by: kokoro <noreply+kokoro@google.com>
src/base/circlebuf.hh

index 0f1cea6386f8a9425da9d17149abe2de50c8f7c6..bcfa91a2771b09cec1194cc9777e160f2cb2ae47 100644 (file)
@@ -62,8 +62,6 @@ class CircleBuf
 
   public:
     using value_type = T;
-    using iterator = typename std::vector<T>::iterator;
-    using const_iterator = typename std::vector<T>::const_iterator;
 
     explicit CircleBuf(size_t size) : buffer(size), maxSize(size) {}
 
@@ -71,15 +69,6 @@ class CircleBuf
     size_t size() const { return used; }
     size_t capacity() const { return maxSize; }
 
-    iterator begin() { return buffer.begin() + start % maxSize; }
-    const_iterator begin() const { return buffer.begin() + start % maxSize; }
-    iterator end() { return buffer.begin() + (start + used) % maxSize; }
-    const_iterator
-    end() const
-    {
-        return buffer.begin() + (start + used) % maxSize;
-    }
-
     /**
      * Throw away any data in the buffer.
      */