類別:RingBuffer
環狀緩衝區
類型 | 使用 | 成員 | 說明 |
建構子 | public | ||
建構子 | public | CaInt32 elementSizeBytes, CaInt32 elementCount, void * dataPtr) |
|
解構子 | public | ||
資料 | public | ||
資料 | public | ||
資料 | public | ||
資料 | public | ||
資料 | public | ||
資料 | public | ||
資料 | public | ||
函式 | public | CaInt32 elementCount , void * dataPtr ) |
|
函式 | public | ||
函式 | public | ||
函式 | public | ||
函式 | public | void ** dataPtr1 , CaInt32 * sizePtr1 , void ** dataPtr2 , CaInt32 * sizePtr2 ) |
|
函式 | public | ||
函式 | public | void ** dataPtr1 , CaInt32 * sizePtr1 , void ** dataPtr2 , CaInt32 * sizePtr2 ) |
|
函式 | public | ||
函式 | public | ||
函式 | public |
建議
外部程式不應使用這個類別,這是專門為了「音訊驅動介面」內部使用的類別。C/C++定義
class RingBuffer
{
public:
CaInt32 bufferSize ;
volatile CaInt32 writeIndex ;
volatile CaInt32 readIndex ;
CaInt32 bigMask ;
CaInt32 smallMask ;
CaInt32 elementSizeBytes ;
char * buffer ;
explicit RingBuffer (void) ;
RingBuffer (CaInt32 elementSizeBytes ,
CaInt32 elementCount ,
void * dataPtr ) ;
virtual ~RingBuffer (void) ;
virtual CaInt32 Initialize (CaInt32 elementSizeBytes ,
CaInt32 elementCount ,
void * dataPtr ) ;
virtual CaInt32 ReadAvailable (void) ;
virtual CaInt32 WriteAvailable (void) ;
virtual void Flush (void) ;
virtual CaInt32 WriteRegions (CaInt32 elementCount ,
void ** dataPtr1 ,
CaInt32 * sizePtr1 ,
void ** dataPtr2 ,
CaInt32 * sizePtr2 ) ;
virtual CaInt32 AdvanceWriteIndex (CaInt32 elementCount) ;
virtual CaInt32 ReadRegions (CaInt32 elementCount ,
void ** dataPtr1 ,
CaInt32 * sizePtr1 ,
void ** dataPtr2 ,
CaInt32 * sizePtr2 ) ;
virtual CaInt32 AdvanceReadIndex (CaInt32 elementCount) ;
virtual CaInt32 Write (const void * data,CaInt32 elementCount) ;
virtual CaInt32 Read (void * data,CaInt32 elementCount) ;
};