#pragma once #include "types.h" typedef struct { union { float *floats; int *ints; unsigned int *uints; unsigned char *bytes; char **strings; void *data; }; u32 len; u32 capacity; u32 elmSize; } List; void list_init_float(List *list); void list_init_i32(List *list); void list_init_u8(List *list); void list_init_u32(List *list); void list_init_u64(List *list); void list_init_string(List *list); void list_push_float(List *list, float f); void list_push_i32(List *list, i32 i); void list_push_u8(List *list, u8 u); void list_push_u32(List *list, u32 u); void list_push_u64(List *list, u64 u); void list_push_string(List *list, char *s); void list_free(List *list);