28 lines
539 B
C++
28 lines
539 B
C++
#pragma once
|
|
#include <cstdint>
|
|
|
|
class Buffer
|
|
{
|
|
public:
|
|
uint8_t* buffer = nullptr;
|
|
size_t taken = 0;
|
|
size_t size = 0;
|
|
|
|
Buffer(size_t size);
|
|
Buffer();
|
|
~Buffer();
|
|
bool resize(size_t new_size);
|
|
void add(uint8_t* data, size_t data_size);
|
|
|
|
// Removes data from buffer without checking if it's in the buffer
|
|
void remove_fast(uint8_t* data, size_t data_size);
|
|
|
|
void remove(size_t index, size_t data_size);
|
|
|
|
size_t find(uint8_t* data, size_t data_size);
|
|
|
|
void remove(uint8_t* data, size_t data_size);
|
|
|
|
void clear() { taken = 0; }
|
|
|
|
}; |