CommonLibSSE (Parapets fork)
Loading...
Searching...
No Matches
HeapBlock.h
Go to the documentation of this file.
1#pragma once
2
3namespace RE
4{
6 {
7 public:
8 struct Free
9 {
10 public:
11 // members
13 };
14 static_assert(sizeof(Free) == 0x8);
15
16 struct Used
17 {
18 public:
19 [[nodiscard]] std::uint32_t GetCheckPoint() const;
20 [[nodiscard]] std::uint32_t GetMemContext() const;
21 [[nodiscard]] std::uint32_t GetStackTrace() const;
22
23 // members
24 bool memContext1: 1; // 0 - 0
25 bool memContext2: 1; // 0 - 1
26 bool memContext3: 1; // 0 - 2
27 bool memContext4: 1; // 0 - 3
28 bool memContext5: 1; // 0 - 4
29 bool memContext6: 1; // 0 - 5
30 bool memContext7: 1; // 0 - 6
31 bool memContext8: 1; // 0 - 7
32 bool stackTrace1: 1; // 1 - 0
33 bool stackTrace2: 1; // 1 - 1
34 bool stackTrace3: 1; // 1 - 2
35 bool stackTrace4: 1; // 1 - 3
36 bool stackTrace5: 1; // 1 - 4
37 bool stackTrace6: 1; // 1 - 5
38 bool stackTrace7: 1; // 1 - 6
39 bool stackTrace8: 1; // 1 - 7
40 bool stackTrace9: 1; // 2 - 0
41 bool stackTrace10: 1; // 2 - 1
42 bool stackTrace11: 1; // 2 - 2
43 bool stackTrace12: 1; // 2 - 3
44 bool stackTrace13: 1; // 2 - 4
45 bool stackTrace14: 1; // 2 - 5
46 bool stackTrace15: 1; // 2 - 6
47 bool stackTrace16: 1; // 2 - 7
48 bool stackTrace17: 1; // 3 - 0
49 bool stackTrace18: 1; // 3 - 1
50 bool stackTrace19: 1; // 3 - 2
51 bool stackTrace20: 1; // 3 - 3
52 bool stackTrace21: 1; // 3 - 4
53 bool stackTrace22: 1; // 3 - 5
54 bool checkPoint1: 1; // 3 - 6
55 bool checkPoint2: 1; // 3 - 7
56 };
57 static_assert(sizeof(Used) == 0x4);
58
60 {
63 };
64 static_assert(sizeof(FreeOrUsed) == 0x8);
65
66 // members
67 std::size_t memSize; // 00
71 };
72 static_assert(sizeof(HeapBlock) == 0x20);
73}
Definition: HeapBlock.h:6
std::size_t memSize
Definition: HeapBlock.h:67
HeapBlock * nextFree
Definition: HeapBlock.h:70
FreeOrUsed freeOrUsed
Definition: HeapBlock.h:69
HeapBlock * previous
Definition: HeapBlock.h:68
Definition: AbsorbEffect.h:6
Definition: HeapBlock.h:9
HeapBlock * prevFree
Definition: HeapBlock.h:12
Definition: HeapBlock.h:17
bool stackTrace6
Definition: HeapBlock.h:37
bool stackTrace1
Definition: HeapBlock.h:32
std::uint32_t GetCheckPoint() const
bool stackTrace9
Definition: HeapBlock.h:40
bool stackTrace15
Definition: HeapBlock.h:46
bool stackTrace12
Definition: HeapBlock.h:43
std::uint32_t GetStackTrace() const
bool memContext2
Definition: HeapBlock.h:25
bool stackTrace20
Definition: HeapBlock.h:51
bool stackTrace10
Definition: HeapBlock.h:41
bool stackTrace21
Definition: HeapBlock.h:52
bool memContext4
Definition: HeapBlock.h:27
bool memContext5
Definition: HeapBlock.h:28
bool stackTrace17
Definition: HeapBlock.h:48
bool memContext8
Definition: HeapBlock.h:31
bool stackTrace19
Definition: HeapBlock.h:50
bool stackTrace14
Definition: HeapBlock.h:45
std::uint32_t GetMemContext() const
bool memContext6
Definition: HeapBlock.h:29
bool stackTrace16
Definition: HeapBlock.h:47
bool checkPoint1
Definition: HeapBlock.h:54
bool stackTrace2
Definition: HeapBlock.h:33
bool stackTrace13
Definition: HeapBlock.h:44
bool stackTrace4
Definition: HeapBlock.h:35
bool stackTrace11
Definition: HeapBlock.h:42
bool stackTrace8
Definition: HeapBlock.h:39
bool memContext3
Definition: HeapBlock.h:26
bool checkPoint2
Definition: HeapBlock.h:55
bool stackTrace5
Definition: HeapBlock.h:36
bool memContext1
Definition: HeapBlock.h:24
bool stackTrace18
Definition: HeapBlock.h:49
bool stackTrace3
Definition: HeapBlock.h:34
bool stackTrace7
Definition: HeapBlock.h:38
bool memContext7
Definition: HeapBlock.h:30
bool stackTrace22
Definition: HeapBlock.h:53
Definition: HeapBlock.h:60
Used used
Definition: HeapBlock.h:62
Free free
Definition: HeapBlock.h:61