From 5af185f917a141883aa24d36552c749dbdff0115 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 20 Dec 2020 10:41:48 -0500 Subject: [PATCH] rm PagedBuffer --- src-c/core/PagedBuffer.h | 72 ---------------------------------------- 1 file changed, 72 deletions(-) delete mode 100644 src-c/core/PagedBuffer.h diff --git a/src-c/core/PagedBuffer.h b/src-c/core/PagedBuffer.h deleted file mode 100644 index da2d1eb..0000000 --- a/src-c/core/PagedBuffer.h +++ /dev/null @@ -1,72 +0,0 @@ -#ifndef PAGEDBUFFER_H -#define PAGEDBUFFER_H - -#include "System.h" -#include -#include -#include - -template -class PagedBuffer -{ -public: - /** - * Create a PagedBuffer. - */ - PagedBuffer() - { - m_n_per_page = System::page_size / sizeof(T); - m_size = 0u; - } - - ~PagedBuffer() - { - for (auto it : m_pages) - { - System::free_pages(it, 1); - } - } - - const T & operator[](unsigned int index) const - { - while (index >= (m_pages.size() * m_n_per_page)) - { - grow(); - } - return m_pages[page_index(index)][index_in_page(index)]; - } - - T & operator[](unsigned int index) - { - while (index >= (m_pages.size() * m_n_per_page)) - { - grow(); - } - return m_pages[page_index(index)][index_in_page(index)]; - } - - size_t size() { return m_size; } - -protected: - unsigned int page_index(unsigned int index) - { - return index / m_n_per_page; - } - - unsigned int index_in_page(unsigned int index) - { - return index % m_n_per_page; - } - - void grow() - { - m_pages.push_back((T *)System::alloc_pages(1)); - m_size += m_n_per_page; - } - - std::vector m_pages; - unsigned long m_size; - unsigned int m_n_per_page; -}; - -#endif