C++ API Reference RNBO: src/RNBO_DataBuffer.h Source File

RNBO: src/RNBO_DataBuffer.h Source File

1 //
2 // RNBO_DataBuffer.h
3 //
4 // Created by Rob Sussman on 12/21/15.
5 //
6 //
7 
8 #ifndef _RNBO_DataBuffer_H_
9 #define _RNBO_DataBuffer_H_
10 
11 #include <vector>
12 #include <memory>
13 
14 namespace RNBO {
15 
22  class DataBuffer
23  {
24  public:
25 
31  DataBuffer(size_t size);
32 
39  DataBuffer(const char* dataToCopy, size_t sizeOfDataToCopy);
40 
48  DataBuffer(const char* stringToCopy);
49 
57  void resize(size_t size);
58 
64  size_t size() const { return _data.size(); }
65 
73  char* data() { return _data.data(); }
74 
80  const char* data() const { return _data.data(); }
81 
82  private:
83  std::vector<char> _data;
84  };
85 
86  using DataBufferRef = std::shared_ptr<DataBuffer>;
87 
88 } // namespace RNBO
89 
90 #endif // #ifndef _RNBO_DataBuffer_H_