From 7ccae1c362a45b28f4fbf96da4f479730e4b382b Mon Sep 17 00:00:00 2001 From: Elis Eriksson Date: Sat, 13 Jun 2026 17:40:25 +0200 Subject: Initial Commit, probably needs heavy code cleanup --- src/node_vec.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 src/node_vec.h (limited to 'src/node_vec.h') diff --git a/src/node_vec.h b/src/node_vec.h new file mode 100644 index 0000000..8421d32 --- /dev/null +++ b/src/node_vec.h @@ -0,0 +1,26 @@ +#pragma once + +#include + +typedef struct ast_node ast_node_t; + +typedef struct { + ast_node_t **_data; + size_t _cap; + size_t len; +} node_vec; + +void node_vec_free(node_vec *v); + +size_t node_vec_push(node_vec *v, ast_node_t *data); + +ast_node_t *node_vec_get(node_vec *v, size_t idx); + +ast_node_t *node_vec_rem_shift(node_vec *v, size_t idx); + +ast_node_t *node_vec_rem(node_vec *v, size_t idx); + +ast_node_t *node_vec_has(node_vec *v, ast_node_t *x, + int (*comp)(const ast_node_t *, const ast_node_t *)); + +void node_vec_shrink(node_vec *v); -- cgit v1.3-7-ge9ab