Distributed Cache
buffer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <vector>
4 
5 struct Buffer {
6  std::vector<char> buffer;
7  char& operator[](int i) { return buffer[i]; }
8  Buffer(int size = 0) : buffer(size){};
9  Buffer(void* data, int size) : buffer(size) {
10  memcpy(buffer.data(), data, size);
11  };
12  int size() const { return buffer.size(); }
13  void addBuffer(Buffer& other) {
14  buffer.insert(buffer.end(), other.buffer.begin(), other.buffer.end());
15  }
16  void addBuffer(Buffer&& other) {
17  buffer.insert(buffer.end(), other.buffer.begin(), other.buffer.end());
18  }
19  void addBuffer(void* data, int size) {
20  buffer.insert(buffer.end(), (char*)data, (char*)data + size);
21  }
22  char* data() { return buffer.data(); }
23 };
Buffer::addBuffer
void addBuffer(Buffer &other)
Definition: buffer.h:13
Buffer
Definition: buffer.h:5
Buffer::data
char * data()
Definition: buffer.h:22
Buffer::addBuffer
void addBuffer(void *data, int size)
Definition: buffer.h:19
Buffer::operator[]
char & operator[](int i)
Definition: buffer.h:7
Buffer::addBuffer
void addBuffer(Buffer &&other)
Definition: buffer.h:16
Buffer::buffer
std::vector< char > buffer
Definition: buffer.h:6
Buffer::Buffer
Buffer(void *data, int size)
Definition: buffer.h:9
Buffer::Buffer
Buffer(int size=0)
Definition: buffer.h:8
Buffer::size
int size() const
Definition: buffer.h:12