ObjectQueue< T, rawSize > Class Template Reference

FIFO for objects. More...

#include <ObjectQueue.h>

Inheritance diagram for ObjectQueue< T, rawSize >:
[legend]
Collaboration diagram for ObjectQueue< T, rawSize >:
[legend]

Public Member Functions

virtual ~ObjectQueue ()
 
T * peek () const
 
T * dequeue ()
 
bool enqueue (T * element)
 
void flush ()
 
unsigned int count () const override
 
bool full () const
 
const T * & operator[] (unsigned int index) const override
 
T * & operator[] (unsigned int index) override
 
const T * & at (unsigned int i) const
 

Public Attributes

const int size
 

Protected Attributes

volatile int numberOfElements
 
int nextIn
 
int nextOut
 
T * raw [rawSize]
 

Detailed Description

template<typename T, int rawSize>
class ObjectQueue< T, rawSize >

FIFO for objects.

Note
Objects are not owned so construction/destruction must be managed elsewhere

Constructor & Destructor Documentation

◆ ~ObjectQueue()

template<typename T, int rawSize>
virtual ObjectQueue< T, rawSize >::~ObjectQueue ( )
inlinevirtual

Member Function Documentation

◆ at()

const T * & Countable< T * >::at ( unsigned int  i) const
inlineinherited

◆ count()

unsigned int FIFO< T * , rawSize >::count ( ) const
inlineoverridevirtualinherited

Implements Countable< T * >.

◆ dequeue()

template<typename T, int rawSize>
T* ObjectQueue< T, rawSize >::dequeue ( )
inline

◆ enqueue()

bool FIFO< T * , rawSize >::enqueue ( T *  element)
inherited

◆ flush()

void FIFO< T * , rawSize >::flush ( )
inherited

◆ full()

bool FIFO< T * , rawSize >::full ( ) const
inlineinherited

◆ operator[]() [1/2]

const T * & FIFO< T * , rawSize >::operator[] ( unsigned int  index) const
inlineoverridevirtualinherited

Implements Countable< T * >.

◆ operator[]() [2/2]

T * & FIFO< T * , rawSize >::operator[] ( unsigned int  index)
inlineoverridevirtualinherited

Implements Countable< T * >.

◆ peek()

template<typename T, int rawSize>
T* ObjectQueue< T, rawSize >::peek ( ) const
inline

Member Data Documentation

◆ nextIn

int FIFO< T * , rawSize >::nextIn
protectedinherited

◆ nextOut

int FIFO< T * , rawSize >::nextOut
protectedinherited

◆ numberOfElements

volatile int FIFO< T * , rawSize >::numberOfElements
protectedinherited

◆ raw

T * FIFO< T * , rawSize >::raw[rawSize]
protectedinherited

◆ size

const int FIFO< T * , rawSize >::size
inherited

The documentation for this class was generated from the following file: