Arduino MIDI Library  Version 4.3
midi_RingBuffer.h
Go to the documentation of this file.
1 
29 #pragma once
30 
31 #include "midi_Namespace.h"
32 
34 
35 template<typename DataType, int Size>
37 {
38 public:
39  RingBuffer();
40  ~RingBuffer();
41 
42 public:
43  int getLength() const;
44  bool isEmpty() const;
45 
46 public:
47  void write(DataType inData);
48  void write(const DataType* inData, int inSize);
49  void clear();
50 
51 public:
52  DataType read();
53  void read(DataType* outData, int inSize);
54 
55 private:
56  DataType mData[Size];
57  DataType* mWriteHead;
58  DataType* mReadHead;
59 };
60 
62 
63 #include "midi_RingBuffer.hpp"
bool isEmpty() const
#define BEGIN_MIDI_NAMESPACE
#define END_MIDI_NAMESPACE
MIDI Library for the Arduino - Namespace declaration.
int getLength() const
MIDI Library for Arduino - Ring Buffer.
DataType read()
void write(DataType inData)