A platform for high-performance distributed tool and library development written in C++. It can be deployed in two different cluster modes: standalone or distributed. API for v0.5.0, released on June 13, 2018.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
PDBCircularBuffer< T > Class Template Reference

#include <PDBCircularBuffer.h>

+ Collaboration diagram for PDBCircularBuffer< T >:

Public Member Functions

 PDBCircularBuffer (unsigned int bufferSize, pdb::PDBLoggerPtr logger)
 
 ~PDBCircularBuffer ()
 
int addToTail (T const &)
 
popFromHead ()
 
bool isFull ()
 
bool isEmpty ()
 
unsigned int getSize ()
 

Protected Member Functions

int initArray ()
 

Private Attributes

T * array
 
pdb::PDBLoggerPtr logger
 
unsigned int maxArraySize
 
unsigned int arrayHead
 
unsigned int arrayTail
 

Detailed Description

template<class T>
class PDBCircularBuffer< T >

Definition at line 32 of file PDBCircularBuffer.h.

Constructor & Destructor Documentation

template<class T >
PDBCircularBuffer< T >::PDBCircularBuffer ( unsigned int  bufferSize,
pdb::PDBLoggerPtr  logger 
)

Definition at line 30 of file PDBCircularBuffer.cc.

template<class T >
PDBCircularBuffer< T >::~PDBCircularBuffer ( )

Definition at line 37 of file PDBCircularBuffer.cc.

Member Function Documentation

template<class T >
int PDBCircularBuffer< T >::addToTail ( T const &  elem)

Definition at line 61 of file PDBCircularBuffer.cc.

template<class T >
unsigned int PDBCircularBuffer< T >::getSize ( )

Definition at line 95 of file PDBCircularBuffer.cc.

template<class T >
int PDBCircularBuffer< T >::initArray ( )
protected

Definition at line 43 of file PDBCircularBuffer.cc.

template<class T >
bool PDBCircularBuffer< T >::isEmpty ( )

Definition at line 90 of file PDBCircularBuffer.cc.

template<class T >
bool PDBCircularBuffer< T >::isFull ( )

Definition at line 85 of file PDBCircularBuffer.cc.

template<class T >
T PDBCircularBuffer< T >::popFromHead ( )

Definition at line 74 of file PDBCircularBuffer.cc.

Member Data Documentation

template<class T >
T* PDBCircularBuffer< T >::array
private

Definition at line 47 of file PDBCircularBuffer.h.

template<class T >
unsigned int PDBCircularBuffer< T >::arrayHead
private

Definition at line 50 of file PDBCircularBuffer.h.

template<class T >
unsigned int PDBCircularBuffer< T >::arrayTail
private

Definition at line 51 of file PDBCircularBuffer.h.

template<class T >
pdb::PDBLoggerPtr PDBCircularBuffer< T >::logger
private

Definition at line 48 of file PDBCircularBuffer.h.

template<class T >
unsigned int PDBCircularBuffer< T >::maxArraySize
private

Definition at line 49 of file PDBCircularBuffer.h.


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