FreeRTOS C++ Wrappers
Public Member Functions | List of all members
Queue< T > Class Template Reference

Queue Wrapper. More...

#include <QueueCPP.h>

Collaboration diagram for Queue< T >:
Collaboration graph

Public Member Functions

 Queue (unsigned portBASE_TYPE length, char const *name)
 
 ~Queue ()
 
unsigned portBASE_TYPE waiting () const
 
bool push (T const &item, TickType_t time=portMAX_DELAY)
 
bool add (T const &item, TickType_t time=portMAX_DELAY)
 
bool pop (T &var, TickType_t time=portMAX_DELAY)
 
bool peek (T &var, TickType_t time=portMAX_DELAY)
 
bool full ()
 
bool empty ()
 
bool push_ISR (T const &item)
 
bool add_ISR (T const &item)
 
bool pop_ISR (T &var)
 
bool peek_ISR (T &var)
 
bool full_ISR ()
 
bool empty_ISR ()
 
unsigned waiting_ISR ()
 
void start_ISR (portBASE_TYPE &flag)
 

Detailed Description

template<class T>
class Queue< T >

Queue Wrapper.

Note, is a template on the type of object to place on the queue, which makes the Queue more typesafe.

Template Parameters
TThe type of object to be placed on the queue. Note also, this type needs to be trivially copyable, and preferably a POD as the FreeRTOS queue code will copy it with memcpy().

Constructor & Destructor Documentation

template<class T >
Queue< T >::Queue ( unsigned portBASE_TYPE  length,
char const *  name 
)
inline
template<class T >
Queue< T >::~Queue ( )
inline

Member Function Documentation

template<class T >
bool Queue< T >::add ( T const &  item,
TickType_t  time = portMAX_DELAY 
)
inline
template<class T >
bool Queue< T >::add_ISR ( T const &  item)
inline
template<class T >
bool Queue< T >::empty ( )
inline
template<class T >
bool Queue< T >::empty_ISR ( )
inline
template<class T >
bool Queue< T >::full ( )
inline
template<class T >
bool Queue< T >::full_ISR ( )
inline
template<class T >
bool Queue< T >::peek ( T &  var,
TickType_t  time = portMAX_DELAY 
)
inline
template<class T >
bool Queue< T >::peek_ISR ( T &  var)
inline
template<class T >
bool Queue< T >::pop ( T &  var,
TickType_t  time = portMAX_DELAY 
)
inline
template<class T >
bool Queue< T >::pop_ISR ( T &  var)
inline
template<class T >
bool Queue< T >::push ( T const &  item,
TickType_t  time = portMAX_DELAY 
)
inline
template<class T >
bool Queue< T >::push_ISR ( T const &  item)
inline
template<class T >
void Queue< T >::start_ISR ( portBASE_TYPE &  flag)
inline
template<class T >
unsigned portBASE_TYPE Queue< T >::waiting ( ) const
inline
template<class T >
unsigned Queue< T >::waiting_ISR ( )
inline

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