GL CHOCO ENGINE
Loading...
Searching...
No Matches
linear_allocator.h
Go to the documentation of this file.
1
31#ifndef GLCE_ENGINE_CORE_MEMORY_LINEAR_ALLOCATOR_H
32#define GLCE_ENGINE_CORE_MEMORY_LINEAR_ALLOCATOR_H
33
34#ifdef __cplusplus
35extern "C" {
36#endif
37
38#include <stddef.h>
39
45
50typedef enum {
55
78void linear_allocator_preinit(size_t* memory_requirement_, size_t* align_requirement_);
79
130linear_allocator_result_t linear_allocator_init(linear_alloc_t* allocator_, size_t capacity_, void* memory_pool_);
131
187linear_allocator_result_t linear_allocator_allocate(linear_alloc_t* allocator_, size_t req_size_, size_t req_align_, void** out_ptr_);
188
189#ifdef TEST_BUILD
195void linear_allocator_malloc_fail_set(size_t malloc_fail_n_);
196
201void linear_allocator_malloc_fail_reset(void);
202#endif
203
204#ifdef __cplusplus
205}
206#endif
207#endif
void linear_allocator_preinit(size_t *memory_requirement_, size_t *align_requirement_)
linear_alloc_t構造体インスタンスの生成に必要なメモリ使用量とメモリアライメント要件を取得する
Definition: linear_allocator.c:65
linear_allocator_result_t
linear_allocator実行結果コードリスト
Definition: linear_allocator.h:50
@ LINEAR_ALLOC_NO_MEMORY
Definition: linear_allocator.h:52
@ LINEAR_ALLOC_SUCCESS
Definition: linear_allocator.h:51
@ LINEAR_ALLOC_INVALID_ARGUMENT
Definition: linear_allocator.h:53
linear_allocator_result_t linear_allocator_init(linear_alloc_t *allocator_, size_t capacity_, void *memory_pool_)
linear_alloc_t構造体インスタンスをメモリ容量size_、メモリプール先頭アドレスmemory_pool_で初期化する
Definition: linear_allocator.c:73
linear_allocator_result_t linear_allocator_allocate(linear_alloc_t *allocator_, size_t req_size_, size_t req_align_, void **out_ptr_)
linear_allocatorを使用してメモリを割り当てる
Definition: linear_allocator.c:88
linear_alloc_t内部データ構造
Definition: linear_allocator.c:32