#ifndef TEENSY_MEM_H_ #define TEENSY_MEM_H_ #include #define ty_new(T) (ty_alloc(sizeof(T))) // NOTE: Overrides GLFW allocator void ty_init_mem(void); void ty_deinit_mem(void); void ty_free_temp_allocs(void); // Temp allocation. Freed at the end of every frame. Do NOT realloc. void *ty_talloc(size_t size); // These mem_* functions handle the case of a bad allocation. No need to check // for NULL after allocating with these. In debug builds, they will also track // allocations and report any memory still in use when the program exits. void *ty_alloc(size_t size); void *ty_realloc(void *ptr, size_t new_size); void ty_free(void *ptr); // Returns -1 in release builds. int ty_alloc_count(void); // Returns 0 in release builds. size_t ty_alloc_size(void); #endif // TEENSY_MEM_H_