diff --git a/core.h b/core.h index b7af898..ca54e2f 100644 --- a/core.h +++ b/core.h @@ -143,9 +143,11 @@ struct list { }; #define PushList(arena, type, size) (list{ PushArray(arena, type, size), size, 0 }) +#define EmptyList(type) (list{ NULL, 0, 0 }) #define PushListZero(arena, type, size) (list{ PushArrayZero(arena, type, size), size, 0 }) #define PushFullList(arena, type, size) (list{ PushArray(arena, type, size), size, size }) #define PushFullListZero(arena, type, size) (list{ PushArrayZero(arena, type, size), size, size }) +#define ArrayAsList(type, array) (list{ array, ArrayCount(array), ArrayCount(array) }) template T *appendList(list *list, T element); template void zeroList(list *list);