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

CircBuf< T > Class Template Reference

#include <RageUtil_CircularBuffer.h>

Inheritance diagram for CircBuf< T >:

Inheritance graph
[legend]
Collaboration diagram for CircBuf< T >:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CircBuf ()
 ~CircBuf ()
unsigned num_readable () const
unsigned num_writable () const
unsigned capacity () const
void reserve (unsigned n)
void clear ()
void advance_write_pointer (int n)
void advance_read_pointer (int n)
void get_write_pointers (T *pPointers[2], unsigned pSizes[2])
void get_read_pointers (T *pPointers[2], unsigned pSizes[2])
bool write (const T *buffer, unsigned buffer_size)
bool read (T *buffer, unsigned buffer_size)

Private Attributes

T * buf
unsigned size
volatile unsigned read_pos
volatile unsigned write_pos

template<class T>
class CircBuf< T >


Constructor & Destructor Documentation

template<class T>
CircBuf< T >::CircBuf  )  [inline]
 

template<class T>
CircBuf< T >::~CircBuf  )  [inline]
 


Member Function Documentation

template<class T>
void CircBuf< T >::advance_read_pointer int  n  )  [inline]
 

template<class T>
void CircBuf< T >::advance_write_pointer int  n  )  [inline]
 

template<class T>
unsigned CircBuf< T >::capacity  )  const [inline]
 

template<class T>
void CircBuf< T >::clear  )  [inline]
 

template<class T>
void CircBuf< T >::get_read_pointers T *  pPointers[2],
unsigned  pSizes[2]
[inline]
 

template<class T>
void CircBuf< T >::get_write_pointers T *  pPointers[2],
unsigned  pSizes[2]
[inline]
 

template<class T>
unsigned CircBuf< T >::num_readable  )  const [inline]
 

template<class T>
unsigned CircBuf< T >::num_writable  )  const [inline]
 

template<class T>
bool CircBuf< T >::read T *  buffer,
unsigned  buffer_size
[inline]
 

template<class T>
void CircBuf< T >::reserve unsigned  n  )  [inline]
 

template<class T>
bool CircBuf< T >::write const T *  buffer,
unsigned  buffer_size
[inline]
 


Member Data Documentation

template<class T>
T* CircBuf< T >::buf [private]
 

template<class T>
volatile unsigned CircBuf< T >::read_pos [private]
 

template<class T>
unsigned CircBuf< T >::size [private]
 

template<class T>
volatile unsigned CircBuf< T >::write_pos [private]
 


The documentation for this class was generated from the following file:
Generated on Thu Jan 27 20:58:48 2005 for StepMania by doxygen 1.3.7