diff options
Diffstat (limited to 'src/list.h')
| -rw-r--r-- | src/list.h | 37 |
1 files changed, 22 insertions, 15 deletions
@@ -1,26 +1,33 @@ #pragma once +#include "types.h" + typedef struct { union { - float *fdata; - int *idata; - unsigned int *udata; - unsigned char *bdata; + float *floats; + int *ints; + unsigned int *uints; + unsigned char *bytes; + char **strings; void *data; }; - int len; - int capacity; - int elmSize; + u32 len; + u32 capacity; + u32 elmSize; } List; -void list_initf(List *list); -void list_initi(List *list); -void list_initu(List *list); -void list_initb(List *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_pushf(List *list, float f); -void list_pushi(List *list, int i); -void list_pushu(List *list, unsigned int u); -void list_pushb(List *list, unsigned char u); +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); |