annotate 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
rev   line source
f@0 1 #pragma once
f@0 2
f@0 3 #include "cinder/audio/dsp/RingBuffer.h"
f@0 4
f@0 5
f@3 6 /** Packs together a cinder::audio::dsp::RingBuffer and the related array used passed as argument to exchange data (read/write) with the ring buffer */
f@0 7 template <typename T>
f@0 8 class RingBufferPack {
f@0 9
f@0 10 public:
f@0 11
f@0 12 RingBufferPack( size_t size ) :
f@0 13 mSize( size ),
f@0 14 mBuffer( size )
f@0 15 {
f@0 16 mArray = new T[size];
f@0 17 }
f@0 18
f@0 19 ~RingBufferPack()
f@0 20 {
f@0 21 delete[] mArray;
f@0 22 }
f@0 23
f@0 24 // no copy
f@0 25 RingBufferPack( const RingBufferPack &copy ) = delete;
f@0 26 RingBufferPack & operator=(const RingBufferPack &copy) = delete;
f@0 27
f@0 28 ci::audio::dsp::RingBufferT<T> & getBuffer() { return mBuffer; }
f@0 29
f@0 30 T* getExchangeArray() { return mArray; }
f@0 31
f@0 32 std::size_t getSize() { return mSize; }
f@0 33
f@0 34 private:
f@0 35 size_t mSize;
f@0 36
f@0 37 ci::audio::dsp::RingBufferT<T> mBuffer;
f@0 38
f@0 39 T* mArray;
f@0 40
f@0 41
f@3 42 };