2
3
4
5
12
13
14
20
21
30
31
35
36
37
41
42
43
47
48
49
53
54
58
59
63
64
65
69
70
71
72
73
74 void PushRange(
void* start,
void* end, size_t size);
77
78
79
80
81
82 void PopRange(
void*& start,
void*& end, size_t size);
85
86
87
91
92
93
97
98
99
105
106
110
111
115
116
120
121
static void *& PointerSpace(void *obj)
Get object first 4/8 bytes as a pointer.
void PushRange(void *start, void *end, size_t size)
Push other free list to this free list.
size_t m_Size
freelist spare size.
void * m_Freelist
current pointer.
virtual ~free_list()=default
Destructor Function.
void * Pop()
Pop a unused memory block from this free list.
bool Empty() const
Determine if this list is empty.
free_list()
Constructor Function.
void PopRange(void *&start, void *&end, size_t size)
Pop unused memory blocks from this free list.
void Push(void *obj)
Recycle a object memory to this free list.
const void * Begin() const
Get current pointer.
void * m_EndPointer
end pointer;
const size_t ApplyforNBlocks() const
Get m_NBlocksAppliedFor reference.
size_t m_NBlocksAppliedFor
count of blocks applied for in next time.
void *& Begin()
Get current pointer (no const & reference version).
void IncreaseInNextApplyFor()
Increase count of blocks in next apply for.
void *& End()
Get end pointer (no const & reference version).
const size_t Size() const
Get this freelist spare size.
Free list for memory pool.