NW4F Sys
Loading...
Searching...
No Matches
ut_HeapBase.h
Go to the documentation of this file.
1#pragma once
2
3#include <nw/ut/ut_LinkList.h>
4
5namespace nw { namespace ut {
6
8{
9public:
11 {
12 }
13
14 virtual ~HeapNode()
15 {
16 }
17
18public:
20};
21static_assert(sizeof(HeapNode) == 0xC, "");
22
23// TODO
24class HeapBase : public HeapNode
25{
26public:
28
29 static const int DEFAULT_ALIGNMENT = 4;
30
31 void* GetHeapStartAddress() { return this; }
32 void* GetHeapEndAddress() { return mHeapEnd; }
33
34 s32 GetTotalSize() { return ((s32)(mHeapEnd) - (s32)(this)); }
35 s32 GetTotalUsableSize() { return ((s32)(mHeapEnd) - (s32)(mHeapStart)); }
36
37protected:
39 void* mHeapEnd;
40
41private:
45};
46static_assert(sizeof(HeapBase) == 0x28, "");
47
48} }
Definition ut_HeapBase.h:25
u32 mSignature
Definition ut_HeapBase.h:42
void * GetHeapStartAddress()
Definition ut_HeapBase.h:31
s32 GetTotalUsableSize()
Definition ut_HeapBase.h:35
void * mHeapStart
Definition ut_HeapBase.h:38
HeapList mChildList
Definition ut_HeapBase.h:43
static const int DEFAULT_ALIGNMENT
Definition ut_HeapBase.h:29
u32 mAttribute
Definition ut_HeapBase.h:44
s32 GetTotalSize()
Definition ut_HeapBase.h:34
void * mHeapEnd
Definition ut_HeapBase.h:39
void * GetHeapEndAddress()
Definition ut_HeapBase.h:32
ut::LinkList< HeapBase, offsetof(HeapNode, mLinkNode)> HeapList
Definition ut_HeapBase.h:27
Definition ut_HeapBase.h:8
LinkListNode mLinkNode
Definition ut_HeapBase.h:19
virtual ~HeapNode()
Definition ut_HeapBase.h:14
HeapNode()
Definition ut_HeapBase.h:10
Definition ut_LinkList.h:19
Definition ut_CriticalSection.h:6
Definition math_Constant.cpp:5