Loading include/input/RingBuffer.h +5 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,11 @@ public: iterator end() { return {*this, mSize}; } const_iterator end() const { return {*this, mSize}; } reference front() { return mBuffer[mBegin]; } const_reference front() const { return mBuffer[mBegin]; } reference back() { return mBuffer[bufferIndex(mSize - 1)]; } const_reference back() const { return mBuffer[bufferIndex(mSize - 1)]; } reference operator[](size_type i) { return mBuffer[bufferIndex(i)]; } const_reference operator[](size_type i) const { return mBuffer[bufferIndex(i)]; } Loading libs/input/tests/RingBuffer_test.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,21 @@ TEST(RingBufferTest, Assignment) { EXPECT_EQ(0u, d.capacity()); } TEST(RingBufferTest, FrontBackAccess) { RingBuffer<int> buffer(/*capacity=*/2); buffer.pushBack(1); EXPECT_EQ(1, buffer.front()); EXPECT_EQ(1, buffer.back()); buffer.pushFront(0); EXPECT_EQ(0, buffer.front()); EXPECT_EQ(1, buffer.back()); buffer.pushFront(-1); EXPECT_EQ(-1, buffer.front()); EXPECT_EQ(0, buffer.back()); } TEST(RingBufferTest, Subscripting) { RingBuffer<int> buffer(/*capacity=*/2); buffer.pushBack(1); Loading Loading
include/input/RingBuffer.h +5 −0 Original line number Diff line number Diff line Loading @@ -103,6 +103,11 @@ public: iterator end() { return {*this, mSize}; } const_iterator end() const { return {*this, mSize}; } reference front() { return mBuffer[mBegin]; } const_reference front() const { return mBuffer[mBegin]; } reference back() { return mBuffer[bufferIndex(mSize - 1)]; } const_reference back() const { return mBuffer[bufferIndex(mSize - 1)]; } reference operator[](size_type i) { return mBuffer[bufferIndex(i)]; } const_reference operator[](size_type i) const { return mBuffer[bufferIndex(i)]; } Loading
libs/input/tests/RingBuffer_test.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -118,6 +118,21 @@ TEST(RingBufferTest, Assignment) { EXPECT_EQ(0u, d.capacity()); } TEST(RingBufferTest, FrontBackAccess) { RingBuffer<int> buffer(/*capacity=*/2); buffer.pushBack(1); EXPECT_EQ(1, buffer.front()); EXPECT_EQ(1, buffer.back()); buffer.pushFront(0); EXPECT_EQ(0, buffer.front()); EXPECT_EQ(1, buffer.back()); buffer.pushFront(-1); EXPECT_EQ(-1, buffer.front()); EXPECT_EQ(0, buffer.back()); } TEST(RingBufferTest, Subscripting) { RingBuffer<int> buffer(/*capacity=*/2); buffer.pushBack(1); Loading