2
3
4
5
6
7
9#ifndef GIMBAL_SCOPE_ALLOCATOR_H
10#define GIMBAL_SCOPE_ALLOCATOR_H
14#define GBL_SELF_TYPE GblScopeAllocator
18typedef GBL_RESULT (*GblScopeAllocatorDtorFn)(
void* pPtr);
22 GblArenaAllocator* pArena;
23 GblArenaAllocatorState rewindState;
24 GblLinkedListNode dtorList;
42 GblScopeAllocatorDtorFn pFnDtor,
52#define GblScopeAllocator_allocDefault_(...)
54#define GblScopeAllocator_allocDefault__(self, size, align, dtor, ...)
57#define GblScopeAllocator_pushDtorDefault_(...)
59#define GblScopeAllocator_pushDtorDefault__(self, dtor, data, ...)
#define GblScopeAllocator_allocDefault__(self, size, align, dtor,...)
#define GblScopeAllocator_pushDtorDefault__(self, dtor, data,...)
#define GblScopeAllocator_pushDtor(...)
#define GblScopeAllocator_pushDtorDefault_(...)
#define GblScopeAllocator_allocDefault_(...)
#define GblScopeAllocator_alloc(...)
Arena-backed scope-based allocator.