Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
RingBufCPP< Type, MaxElements > Class Template Reference

#include <RingBuf.h>

Public Member Functions

bool add (Type &obj)
 
bool isEmpty ()
 
bool isFull ()
 
uint16_t numElements ()
 
Type peek (uint16_t num)
 
bool pull (Type *dest)
 
 RingBufCPP (pros::Mutex &mut)
 

Protected Member Functions

uint16_t getTail ()
 

Protected Attributes

Type _buf [MaxElements]
 
uint16_t _head
 
uint16_t _numElements
 

Private Attributes

pros::Mutex & rosvexMutex
 

Detailed Description

template<typename Type, uint16_t MaxElements>
class RingBufCPP< Type, MaxElements >

Definition at line 32 of file RingBuf.h.

Constructor & Destructor Documentation

template<typename Type, uint16_t MaxElements>
RingBufCPP< Type, MaxElements >::RingBufCPP ( pros::Mutex &  mut)
inline

Definition at line 36 of file RingBuf.h.

Member Function Documentation

template<typename Type, uint16_t MaxElements>
bool RingBufCPP< Type, MaxElements >::add ( Type &  obj)
inline

Add element obj to the buffer Return: true on success

Definition at line 51 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
uint16_t RingBufCPP< Type, MaxElements >::getTail ( )
inlineprotected

Calculates the index in the array of the oldest element Return: index in array of element

Definition at line 169 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
bool RingBufCPP< Type, MaxElements >::isEmpty ( )
inline

Return: true if buffer is empty

Definition at line 151 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
bool RingBufCPP< Type, MaxElements >::isFull ( )
inline

Return: true if buffer is full

Definition at line 117 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
uint16_t RingBufCPP< Type, MaxElements >::numElements ( )
inline

Return: number of elements in buffer

Definition at line 134 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
Type RingBufCPP< Type, MaxElements >::peek ( uint16_t  num)
inline

Peek at num'th element in the buffer Return: a pointer to the num'th element

Definition at line 99 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
bool RingBufCPP< Type, MaxElements >::pull ( Type *  dest)
inline

Remove last element from buffer, and copy it to dest Return: true on success

Definition at line 74 of file RingBuf.h.

Member Data Documentation

template<typename Type, uint16_t MaxElements>
Type RingBufCPP< Type, MaxElements >::_buf[MaxElements]
protected

Definition at line 176 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
uint16_t RingBufCPP< Type, MaxElements >::_head
protected

Definition at line 178 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
uint16_t RingBufCPP< Type, MaxElements >::_numElements
protected

Definition at line 179 of file RingBuf.h.

template<typename Type, uint16_t MaxElements>
pros::Mutex& RingBufCPP< Type, MaxElements >::rosvexMutex
private

Definition at line 181 of file RingBuf.h.


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


rosserial_vex_v5
Author(s): Cannon
autogenerated on Fri Jun 7 2019 22:03:08