20 #ifndef ESSENTIA_MULTIRATEBUFFER_H
21 #define ESSENTIA_MULTIRATEBUFFER_H
72 virtual void resize(
int size,
int phantomSize) = 0;
Definition: multiratebuffer.h:30
virtual BufferInfo bufferInfo() const =0
virtual const std::vector< T > & readView(ReaderID id) const =0
virtual void releaseForWrite(int released)=0
virtual int availableForWrite(bool contiguous=true) const =0
virtual void setBufferType(BufferUsage::BufferUsageType type)=0
void writerConsume(int requested)
Definition: multiratebuffer.h:62
virtual ~MultiRateBuffer()
Definition: multiratebuffer.h:33
virtual void releaseForRead(ReaderID id, int released)=0
virtual int availableForRead(ReaderID id) const =0
virtual int totalTokensWritten() const =0
virtual ReaderID addReader(bool startFromZero=false)=0
virtual std::vector< T > & writeView()=0
void writerProduce(int released)
Definition: multiratebuffer.h:63
virtual void removeReader(ReaderID id)=0
void readerConsume(ReaderID id, int requested)
Definition: multiratebuffer.h:60
void readerProduce(ReaderID id, int released)
Definition: multiratebuffer.h:61
virtual bool acquireForWrite(int requested)=0
virtual int totalTokensRead(ReaderID id) const =0
virtual void setBufferInfo(const BufferInfo &info)=0
virtual void resize(int size, int phantomSize)=0
virtual int numberReaders() const =0
virtual bool acquireForRead(ReaderID id, int requested)=0
virtual const T & lastTokenProduced() const =0
BufferUsageType
Definition: types.h:436
Definition: algorithm.h:28
int ReaderID
Definition: types.h:344