//CFTTCircularBuffer - [2020-04-13 11:57:46]
#ifndef _CFTTCIRCULARBUFFER_H_
#define _CFTTCIRCULARBUFFER_H_

#include "FTTMutex.h"

/*
002A38E0 CFTTCircularBuffer::CFTTCircularBuffer()
002A3920 CFTTCircularBuffer::CFTTCircularBuffer(int)
002A3974 CFTTCircularBuffer::CFTTCircularBuffer(CFTTCircularBuffer&)
002A39C0 CFTTCircularBuffer::~CFTTCircularBuffer()
002A3A06 CFTTCircularBuffer::~CFTTCircularBuffer()
002A3914 CFTTCircularBuffer::Clear()
002A3950 CFTTCircularBuffer::AllocBuffer(int)
002A39E8 CFTTCircularBuffer::FreeBuffer()
002A3A14 CFTTCircularBuffer::operator=(CFTTCircularBuffer const&)
002A3A48 CFTTCircularBuffer::WriteBytes(void const*,int)
002A3AB2 CFTTCircularBuffer::ReadBytes(void *,int)
002A3B1A CFTTCircularBuffer::PeekBytes(void *,int)
002A3B6E CFTTCircularBuffer::Empty()

size=0x3C
*/

class CFTTCircularBuffer {
public:
  CFTTCircularBuffer();                        //002A38E0
  CFTTCircularBuffer(int);                     //002A3920
  CFTTCircularBuffer(CFTTCircularBuffer &);    //002A3974
  virtual ~CFTTCircularBuffer();               //002A39C0
  void Clear();                                //002A3914
  void AllocBuffer(int);                       //002A3950
  void FreeBuffer();                           //002A39E8
  void operator=(CFTTCircularBuffer const &);  //002A3A14
  int WriteBytes(uchar const *, int);          //002A3A48
  int ReadBytes(uchar *, int);                 //002A3AB2
  int PeekBytes(uchar *, int);                 //002A3B1A
  bool Empty();                                //002A3B6E

  uchar *pbuf_4;
  int rpos_8;        //读数据的起始位置
  int wpos_C;        //写数据的起始位置
  int dDatlen_10;    //数据的总长度
  int dTotallen_14;  //buf空间的长度
  FTTMutex mutex_18;
};

#endif  //_CFTTCIRCULARBUFFER_H_