SpiecsEngine
 
Loading...
Searching...
No Matches

◆ PopRange()

void scl::free_list::PopRange ( void *& start,
void *& end,
size_t size )

Pop unused memory blocks from this free list.

Parameters
[in,out]startobjects start pointer.
[in,out]endobjects end pointer.
[in]sizeobjects number.

Pop from begin.

Unrecoring end pointer.

Pop from begin.

Unrecoring end pointer.

Definition at line 76 of file FreeList.cpp.

77 {
78 assert(size <= m_Size);
79
80 start = end = m_Freelist;
81
85 for (size_t i = 0; i < size - 1; ++i)
86 {
88 }
89
92 m_Size -= size;
93
97 if (m_Size == 0)
98 {
99 m_EndPointer = nullptr;
100 }
101 }
static void *& PointerSpace(void *obj)
Get object first 4/8 bytes as a pointer.
size_t m_Size
freelist spare size.
Definition FreeList.h:122
void * m_Freelist
current pointer.
Definition FreeList.h:112
void * m_EndPointer
end pointer;
Definition FreeList.h:107

References m_EndPointer, m_Freelist, and Spices::MemoryPool::PointerSpace().