Mercurial > hg > opencollidoscope
view CollidoscopeApp/include/RingBufferPack.h @ 3:7fb593d53361
added comments
author | Fiore Martin <f.martin@qmul.ac.uk> |
---|---|
date | Tue, 12 Jul 2016 18:29:38 +0200 |
parents | 02467299402e |
children | 75b744078d66 |
line wrap: on
line source
#pragma once #include "cinder/audio/dsp/RingBuffer.h" /** Packs together a cinder::audio::dsp::RingBuffer and the related array used passed as argument to exchange data (read/write) with the ring buffer */ template <typename T> class RingBufferPack { public: RingBufferPack( size_t size ) : mSize( size ), mBuffer( size ) { mArray = new T[size]; } ~RingBufferPack() { delete[] mArray; } // no copy RingBufferPack( const RingBufferPack © ) = delete; RingBufferPack & operator=(const RingBufferPack ©) = delete; ci::audio::dsp::RingBufferT<T> & getBuffer() { return mBuffer; } T* getExchangeArray() { return mArray; } std::size_t getSize() { return mSize; } private: size_t mSize; ci::audio::dsp::RingBufferT<T> mBuffer; T* mArray; };