From fa8fa6784559ed0fc8d780e36880273f77e272c4 Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Thu, 11 Dec 2025 10:49:50 -0500 Subject: i did a lot --- src/list.h | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) (limited to 'src/list.h') diff --git a/src/list.h b/src/list.h index 6d2211b..a22f3da 100644 --- a/src/list.h +++ b/src/list.h @@ -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); -- cgit v1.2.3-freya