Arduino MIDI Library  Version 4.3.1
midi_RingBuffer.h
Go to the documentation of this file.
1 
28 #pragma once
29 
30 #include "midi_Namespace.h"
31 
33 
34 template<typename DataType, int Size>
36 {
37 public:
38  RingBuffer();
39  ~RingBuffer();
40 
41 public:
42  int getLength() const;
43  bool isEmpty() const;
44 
45 public:
46  void write(DataType inData);
47  void write(const DataType* inData, int inSize);
48  void clear();
49 
50 public:
51  DataType read();
52  void read(DataType* outData, int inSize);
53 
54 private:
55  DataType mData[Size];
56  DataType* mWriteHead;
57  DataType* mReadHead;
58 };
59 
61 
62 #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)