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

#include <GrowingHeap.hpp>

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

Public Member Functions

 GrowingHeap ()
 
 GrowingHeap (const GrowingHeap &)=delete
 
 GrowingHeap (GrowingHeap &&)=delete
 
GrowingHeapoperator= (const GrowingHeap &)=delete
 
GrowingHeapoperator= (GrowingHeap &&)=delete
 
 ~GrowingHeap ()
 
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 [MaxPageCount]
 
size_t _current {0}
 
Page _pages [MaxPageCount]
 

Detailed Description

template<size_t PageSize = 4096, size_t MaxPageCount = 1>
class lug::System::Memory::Area::GrowingHeap< PageSize, MaxPageCount >

Definition at line 12 of file GrowingHeap.hpp.

Constructor & Destructor Documentation

◆ GrowingHeap() [1/3]

template<size_t PageSize, size_t MaxPageCount>
lug::System::Memory::Area::GrowingHeap< PageSize, MaxPageCount >::GrowingHeap ( )

Definition at line 2 of file GrowingHeap.inl.

◆ GrowingHeap() [2/3]

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

◆ GrowingHeap() [3/3]

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

◆ ~GrowingHeap()

template<size_t PageSize, size_t MaxPageCount>
lug::System::Memory::Area::GrowingHeap< PageSize, MaxPageCount >::~GrowingHeap ( )

Definition at line 7 of file GrowingHeap.inl.

Member Function Documentation

◆ operator=() [1/2]

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

◆ operator=() [2/2]

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

◆ requestNextPage()

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

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

Definition at line 15 of file GrowingHeap.inl.

Member Data Documentation

◆ _data

template<size_t PageSize = 4096, size_t MaxPageCount = 1>
void* lug::System::Memory::Area::GrowingHeap< PageSize, MaxPageCount >::_data[MaxPageCount]
private

Definition at line 26 of file GrowingHeap.hpp.

◆ _current

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

Definition at line 28 of file GrowingHeap.hpp.

◆ _pages

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

Definition at line 29 of file GrowingHeap.hpp.


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