From 444653822e7afdc266026cd34e50e3e98a4e6081 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 1 Nov 2016 22:18:44 -0400 Subject: [PATCH] start on GapBuffer class --- src/core/GapBuffer.cc | 19 +++++++++++++++++++ src/core/GapBuffer.h | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 src/core/GapBuffer.cc create mode 100644 src/core/GapBuffer.h diff --git a/src/core/GapBuffer.cc b/src/core/GapBuffer.cc new file mode 100644 index 0000000..bcfdde3 --- /dev/null +++ b/src/core/GapBuffer.cc @@ -0,0 +1,19 @@ +#include "GapBuffer.h" +#include "System.h" + +GapBuffer::GapBuffer() +{ + m_buffer = (uint8_t *)System::alloc_pages(1u); + m_size = System::page_size; +} + +GapBuffer::GapBuffer(uint8_t * buffer, size_t size) +{ + m_buffer = buffer; + m_size = size; +} + +GapBuffer::~GapBuffer() +{ + System::free_pages(m_buffer, m_size >> System::page_size_log); +} diff --git a/src/core/GapBuffer.h b/src/core/GapBuffer.h new file mode 100644 index 0000000..62643ed --- /dev/null +++ b/src/core/GapBuffer.h @@ -0,0 +1,19 @@ +#ifndef GAPBUFFER_H +#define GAPBUFFER_H + +#include +#include + +class GapBuffer +{ +public: + GapBuffer(); + GapBuffer(uint8_t * buffer, size_t size); + ~GapBuffer(); + +protected: + uint8_t * m_buffer; + size_t m_size; +}; + +#endif