Lugdunum  0.1.0
Public Member Functions | Private Attributes | List of all members
lug::System::Memory::Area::Heap< PageSize, PageCount > Class Template Reference

#include <Heap.hpp>

Inheritance diagram for lug::System::Memory::Area::Heap< PageSize, PageCount >:
[legend]
Collaboration diagram for lug::System::Memory::Area::Heap< PageSize, PageCount >:
[legend]

Public Member Functions

 Heap ()
 
 Heap (const Heap &)=delete
 
 Heap (Heap &&)=delete
 
Heapoperator= (const Heap &)=delete
 
Heapoperator= (Heap &&)=delete
 
 ~Heap ()
 
PagerequestNextPage () override
 
- Public Member Functions inherited from lug::System::Memory::Area::IArea
 IArea ()=default
 
 IArea (const IArea &)=delete
 
 IArea (IArea &&)=delete
 
IAreaoperator= (const IArea &)=delete
 
IAreaoperator= (IArea &&)=delete
 
virtual ~IArea ()=default
 

Private Attributes

void * _data {nullptr}
 
size_t _current {0}
 
Page _pages [PageCount]
 

Detailed Description

template<size_t PageSize = 4096, size_t PageCount = 1>
class lug::System::Memory::Area::Heap< PageSize, PageCount >

Definition at line 12 of file Heap.hpp.

Constructor & Destructor Documentation

◆ Heap() [1/3]

template<size_t PageSize, size_t PageCount>
lug::System::Memory::Area::Heap< PageSize, PageCount >::Heap ( )

Definition at line 2 of file Heap.inl.

◆ Heap() [2/3]

template<size_t PageSize = 4096, size_t PageCount = 1>
lug::System::Memory::Area::Heap< PageSize, PageCount >::Heap ( const Heap< PageSize, PageCount > &  )
delete

◆ Heap() [3/3]

template<size_t PageSize = 4096, size_t PageCount = 1>
lug::System::Memory::Area::Heap< PageSize, PageCount >::Heap ( Heap< PageSize, PageCount > &&  )
delete

◆ ~Heap()

template<size_t PageSize, size_t PageCount>
lug::System::Memory::Area::Heap< PageSize, PageCount >::~Heap ( )

Definition at line 17 of file Heap.inl.

Member Function Documentation

◆ operator=() [1/2]

template<size_t PageSize = 4096, size_t PageCount = 1>
Heap& lug::System::Memory::Area::Heap< PageSize, PageCount >::operator= ( const Heap< PageSize, PageCount > &  )
delete

◆ operator=() [2/2]

template<size_t PageSize = 4096, size_t PageCount = 1>
Heap& lug::System::Memory::Area::Heap< PageSize, PageCount >::operator= ( Heap< PageSize, PageCount > &&  )
delete

◆ requestNextPage()

template<size_t PageSize, size_t PageCount>
Page * lug::System::Memory::Area::Heap< PageSize, PageCount >::requestNextPage ( )
inlineoverridevirtual

Implements lug::System::Memory::Area::IArea.

Definition at line 23 of file Heap.inl.

Member Data Documentation

◆ _data

template<size_t PageSize = 4096, size_t PageCount = 1>
void* lug::System::Memory::Area::Heap< PageSize, PageCount >::_data {nullptr}
private

Definition at line 26 of file Heap.hpp.

◆ _current

template<size_t PageSize = 4096, size_t PageCount = 1>
size_t lug::System::Memory::Area::Heap< PageSize, PageCount >::_current {0}
private

Definition at line 28 of file Heap.hpp.

◆ _pages

template<size_t PageSize = 4096, size_t PageCount = 1>
Page lug::System::Memory::Area::Heap< PageSize, PageCount >::_pages[PageCount]
private

Definition at line 29 of file Heap.hpp.


The documentation for this class was generated from the following files: