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