1#ifndef SEAD_FREE_LIST_H_
2#define SEAD_FREE_LIST_H_
4#include <basis/seadAssert.h>
5#include <basis/seadTypes.h>
18 void init(
void* work, s32 elem_size, s32 num)
24 const s32 idx_multiplier = elem_size / 4;
28 for (s32 i = 0; i < num - 1; ++i)
29 static_cast<
void**>(work)[idx_multiplier * i] = &
static_cast<
void**>(work)[idx_multiplier * (i + 1)];
31 static_cast<
void**>(work)[(num - 1) * idx_multiplier] =
nullptr;
56 *
static_cast<
void**>(ptr) =
mFree;
Definition seadFreeList.h:10
void * mFree
Definition seadFreeList.h:61
void put(void *ptr)
Definition seadFreeList.h:54
void init(void *work, s32 elem_size, s32 num)
Definition seadFreeList.h:18
FreeList()
Definition seadFreeList.h:12
void * work() const
Definition seadFreeList.h:52
void * mWork
Definition seadFreeList.h:62
void * get()
Definition seadFreeList.h:36
void cleanup()
Definition seadFreeList.h:46
Definition seadAssert.h:44
#define SEAD_ASSERT(condition)
Definition seadAssert.h:24