Kohi Game Engine
pool_allocator.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "defines.h"
4 
5 typedef struct pool_allocator_free_node {
9 
10 typedef struct pool_allocator {
11  void* memory;
17 
20 
21 KAPI void* pool_allocator_allocate(pool_allocator* allocator, u32* out_index);
22 KAPI void pool_allocator_free(pool_allocator* allocator, void* block);
23 
This file contains global type definitions which are used throughout the entire engine and applicatio...
#define KAPI
Import/export qualifier.
Definition: defines.h:209
unsigned int u32
Unsigned 32-bit integer.
Definition: defines.h:27
unsigned long long u64
Unsigned 64-bit integer.
Definition: defines.h:30
KAPI void * pool_allocator_allocate(pool_allocator *allocator, u32 *out_index)
struct pool_allocator_free_node pool_allocator_free_node
KAPI pool_allocator pool_allocator_create(u64 element_size, u64 capacity)
KAPI void pool_allocator_free(pool_allocator *allocator, void *block)
struct pool_allocator pool_allocator
KAPI u64 pool_allocator_space_free(const pool_allocator *allocator)
KAPI void pool_allocator_destroy(pool_allocator *allocator)
KAPI u32 pool_allocator_elements_free(const pool_allocator *allocator)
Definition: pool_allocator.h:5
struct pool_allocator_free_node * next
Definition: pool_allocator.h:7
u64 offset
Definition: pool_allocator.h:6
Definition: pool_allocator.h:10
pool_allocator_free_node * free_list_nodes
Definition: pool_allocator.h:12
u64 capacity
Definition: pool_allocator.h:14
pool_allocator_free_node * free_list_head
Definition: pool_allocator.h:15
void * memory
Definition: pool_allocator.h:11
u64 element_size
Definition: pool_allocator.h:13