Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

clRingBuffer< TRingBuffer_t > Class Template Reference

Class for predefined size lockless ring buffer. More...

#include <RingBuffer.hh>

Collaboration diagram for clRingBuffer< TRingBuffer_t >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 clRingBuffer ()
 clRingBuffer (const clRingBuffer< TRingBuffer_t > &CopySrc)
 clRingBuffer (long lNewSize)
void SetSize (long lNewSize)
void Lock ()
void UnLock ()
long Size () const
long GetCount () const
void Put (const TRingBuffer_t *Src, long lSrcCount)
bool Get (TRingBuffer_t *Dst, long lDstCount)

Private Attributes

volatile long lSize
volatile long lCount
volatile long lPutIndex
volatile long lGetIndex
clDSPAlloc Buffer

Detailed Description

template<class TRingBuffer_t>
class clRingBuffer< TRingBuffer_t >

Class for predefined size lockless ring buffer.

Definition at line 49 of file RingBuffer.hh.


Constructor & Destructor Documentation

template<class TRingBuffer_t>
clRingBuffer< TRingBuffer_t >::clRingBuffer  )  [inline]
 

Definition at line 57 of file RingBuffer.hh.

template<class TRingBuffer_t>
clRingBuffer< TRingBuffer_t >::clRingBuffer const clRingBuffer< TRingBuffer_t > &  CopySrc  )  [inline]
 

Definition at line 64 of file RingBuffer.hh.

References clRingBuffer< TRingBuffer_t >::Buffer, clRingBuffer< TRingBuffer_t >::lCount, clRingBuffer< TRingBuffer_t >::lGetIndex, clRingBuffer< TRingBuffer_t >::lPutIndex, and clRingBuffer< TRingBuffer_t >::lSize.

template<class TRingBuffer_t>
clRingBuffer< TRingBuffer_t >::clRingBuffer long  lNewSize  )  [inline]
 

Definition at line 72 of file RingBuffer.hh.

References clRingBuffer< TRingBuffer_t >::SetSize().


Member Function Documentation

template<class TRingBuffer_t>
void clRingBuffer< TRingBuffer_t >::SetSize long  lNewSize  )  [inline]
 

Definition at line 74 of file RingBuffer.hh.

References clAlloc::Size().

Referenced by clRingBuffer< TRingBuffer_t >::clRingBuffer().

template<class TRingBuffer_t>
void clRingBuffer< TRingBuffer_t >::Lock  )  [inline]
 

Definition at line 82 of file RingBuffer.hh.

References clAlloc::Lock().

template<class TRingBuffer_t>
void clRingBuffer< TRingBuffer_t >::UnLock  )  [inline]
 

Definition at line 84 of file RingBuffer.hh.

References clAlloc::UnLock().

template<class TRingBuffer_t>
long clRingBuffer< TRingBuffer_t >::Size  )  const [inline]
 

Definition at line 86 of file RingBuffer.hh.

template<class TRingBuffer_t>
long clRingBuffer< TRingBuffer_t >::GetCount  )  const [inline]
 

Definition at line 90 of file RingBuffer.hh.

template<class TRingBuffer_t>
void clRingBuffer< TRingBuffer_t >::Put const TRingBuffer_t *  Src,
long  lSrcCount
[inline]
 

Definition at line 94 of file RingBuffer.hh.

References clDSPOp::Copy().

template<class TRingBuffer_t>
bool clRingBuffer< TRingBuffer_t >::Get TRingBuffer_t *  Dst,
long  lDstCount
[inline]
 

Definition at line 118 of file RingBuffer.hh.

References clDSPOp::Copy().


Member Data Documentation

template<class TRingBuffer_t>
volatile long clRingBuffer< TRingBuffer_t >::lSize [private]
 

Definition at line 51 of file RingBuffer.hh.

Referenced by clRingBuffer< TRingBuffer_t >::clRingBuffer().

template<class TRingBuffer_t>
volatile long clRingBuffer< TRingBuffer_t >::lCount [private]
 

Definition at line 52 of file RingBuffer.hh.

Referenced by clRingBuffer< TRingBuffer_t >::clRingBuffer().

template<class TRingBuffer_t>
volatile long clRingBuffer< TRingBuffer_t >::lPutIndex [private]
 

Definition at line 53 of file RingBuffer.hh.

Referenced by clRingBuffer< TRingBuffer_t >::clRingBuffer().

template<class TRingBuffer_t>
volatile long clRingBuffer< TRingBuffer_t >::lGetIndex [private]
 

Definition at line 54 of file RingBuffer.hh.

Referenced by clRingBuffer< TRingBuffer_t >::clRingBuffer().

template<class TRingBuffer_t>
clDSPAlloc clRingBuffer< TRingBuffer_t >::Buffer [private]
 

Definition at line 55 of file RingBuffer.hh.

Referenced by clRingBuffer< TRingBuffer_t >::clRingBuffer().


The documentation for this class was generated from the following file:
Generated on Sun Nov 7 14:32:34 2004 for libDSP by doxygen 1.3.6