summaryrefslogtreecommitdiff
path: root/data_buffer.cpp
diff options
context:
space:
mode:
authorOxore <oxore@protonmail.com>2023-04-21 18:42:46 +0300
committerOxore <oxore@protonmail.com>2023-04-21 18:42:46 +0300
commit8856f2ee0e19f50c4c4fb3dc7fccc8150a00da81 (patch)
tree575d6b65bf425a27d487f6987c6331763e388ec8 /data_buffer.cpp
parent25762ee11dadb333f5b63c359abb615dc5f16b09 (diff)
Refactor asm rendering
Diffstat (limited to 'data_buffer.cpp')
-rw-r--r--data_buffer.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/data_buffer.cpp b/data_buffer.cpp
new file mode 100644
index 0000000..e691b97
--- /dev/null
+++ b/data_buffer.cpp
@@ -0,0 +1,25 @@
+#include "data_buffer.h"
+
+#include <cassert>
+#include <cstring>
+
+void DataBuffer::Expand(size_t new_size)
+{
+ if (new_size <= buffer_size) {
+ return;
+ }
+ uint8_t *new_buffer{new uint8_t[new_size]};
+ assert(new_buffer);
+ memcpy(new_buffer, buffer, occupied_size);
+ delete [] buffer;
+ buffer = new_buffer;
+ buffer_size = new_size;
+}
+
+DataBuffer::~DataBuffer()
+{
+ delete [] buffer;
+ buffer = nullptr;
+ buffer_size = 0;
+ occupied_size = 0;
+}