24 template <
typename T,
unsigned rawSize>
class FIFO :
public Countable<T>
37 unsigned int count()
const override
49 return (
count() >= rawSize);
80 raw[nextIn] = element;
82 if(++nextIn >= rawSize) {
93 if(++nextOut >= rawSize)
105 nextIn = nextOut = numberOfElements = 0;
Definition: Countable.h:20
unsigned nextOut
Definition: FIFO.h:65
T & operator[](unsigned int index) override
Definition: FIFO.h:57
T raw[rawSize]
Definition: FIFO.h:66
const T & operator[](unsigned int index) const override
Definition: FIFO.h:52
unsigned int count() const override
Definition: FIFO.h:37
unsigned numberOfElements
Definition: FIFO.h:63
T peek() const
Definition: FIFO.h:98
T dequeue()
Definition: FIFO.h:88
bool empty() const
Definition: FIFO.h:42
bool enqueue(T element)
Definition: FIFO.h:74
FIFO()
Definition: FIFO.h:69
const unsigned size
Definition: FIFO.h:27
bool full() const
Definition: FIFO.h:47
unsigned nextIn
Definition: FIFO.h:64
void flush()
Definition: FIFO.h:103