/* 4coder_heap.h - Preversioning no warranty implied; use at your own risk This software is in the public domain. Where that dedication is not recognized, you are granted a perpetual, irrevocable license to copy, distribute, and modify this file as you see fit. */ // TOP #if !defined(FCODER_HEAP_H) #define FCODER_HEAP_H struct Heap_Basic_Node{ Heap_Basic_Node *next; Heap_Basic_Node *prev; }; struct Heap_Node{ union{ struct{ Heap_Basic_Node order; Heap_Basic_Node alloc; i32 size; }; u8 force_size__[64]; }; }; struct Heap{ Heap_Basic_Node in_order; Heap_Basic_Node free_nodes; i32 used_space; i32 total_space; }; //#define DO_HEAP_CHECKS #endif // BOTTOM