From a5d1c6da7e5617c15dd729a7907fb38cc25c2e1b Mon Sep 17 00:00:00 2001 From: Thomas Voss Date: Sat, 24 Dec 2022 02:26:00 +0100 Subject: Add vectors --- examples/Makefile | 8 +++++--- examples/gevector.c | 25 +++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 3 deletions(-) create mode 100644 examples/gevector.c (limited to 'examples') diff --git a/examples/Makefile b/examples/Makefile index 25d3fa5..af41d5d 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -4,11 +4,13 @@ CC = cc CFLAGS = -Og -g -ggdb LDFLAGS = -I../src -srcs = gehashmap +progs = gehashmap gevector -all: ${srcs} +all: ${progs} gehashmap: gehashmap.c +gevector: gevector.c + clean: - rm -f ${srcs} + rm -f ${progs} diff --git a/examples/gevector.c b/examples/gevector.c new file mode 100644 index 0000000..e554005 --- /dev/null +++ b/examples/gevector.c @@ -0,0 +1,25 @@ +#include +#include + +#include + +GEVECTOR_API(int, ivec); +GEVECTOR_IMPL(int, ivec); + +int +main(void) +{ + struct ivec *vec = malloc(sizeof(struct ivec)); + ivec_new(vec, 2, 0); + + ivec_append(vec, 42); + ivec_append(vec, 69); + ivec_append(vec, 420); + ivec_insert(vec, 1337, 2); + + for (size_t i = 0; i < vec->size; i++) + printf("%d\n", vec->items[i]); + + free(vec->items); + free(vec); +} -- cgit v1.2.3