25 using reference = value_type&;
26 using const_reference =
const value_type&;
27 using pointer = value_type*;
28 using size_type = size_t;
29 using iterator_category = std::forward_iterator_tag;
30 using difference_type = std::ptrdiff_t;
32 size_type
size()
const;
34 const T&
front()
const;
36 const T&
back()
const;
48 std::vector<T> m_data;
58 size_t ModuloInc(
size_t index);
59 size_t ModuloDec(
size_t index);
64 #include "wpi/circular_buffer.inc"
T & operator[](size_t index)
Definition: circular_buffer.inc:203
T pop_front()
Pop value at front of buffer.
Definition: circular_buffer.inc:110
T & front()
Returns value at front of buffer.
Definition: circular_buffer.inc:29
void push_front(T value)
Push new value onto front of the buffer.
Definition: circular_buffer.inc:72
void reset()
Sets internal buffer contents to zero.
Definition: circular_buffer.inc:193
WPILib C++ utilities (wpiutil) namespace.
Definition: EventLoopRunner.h:17
T & back()
Returns value at back of buffer.
Definition: circular_buffer.inc:45
void resize(size_t size)
Resizes internal buffer to given size.
Definition: circular_buffer.inc:140
This is a simple circular buffer so we don't need to "bucket brigade" copy old values.
Definition: circular_buffer.h:20
size_type size() const
Returns number of elements in buffer.
Definition: circular_buffer.inc:21
void push_back(T value)
Push new value onto back of the buffer.
Definition: circular_buffer.inc:91
T pop_back()
Pop value at back of buffer.
Definition: circular_buffer.inc:126