From 4daea9f7bb138857bdfc140a29f77e37bf03931c Mon Sep 17 00:00:00 2001 From: thib <tempo2riz@gmail.com> Date: Wed, 6 Jan 2021 15:50:22 +0100 Subject: [PATCH] init --- .gitignore | 1 + lst-vector/Makefile | 12 ++++++++++++ lst-vector/lst_vec.c | 8 ++++++++ lst-vector/lst_vec.h | 33 +++++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 lst-vector/Makefile create mode 100644 lst-vector/lst_vec.c create mode 100644 lst-vector/lst_vec.h diff --git a/.gitignore b/.gitignore index b7155f2..6688a4a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,4 +2,5 @@ *.o */*.o */*.x +*.gch diff --git a/lst-vector/Makefile b/lst-vector/Makefile new file mode 100644 index 0000000..e94ac07 --- /dev/null +++ b/lst-vector/Makefile @@ -0,0 +1,12 @@ +cc=gcc +LIBS=-Wextra -Wall -g -fsanitize=address -fsanitize=leak -lm + +lst_vec.x: lst_vec.o + $(cc) -o $@ $^ $(LIBS) + +lst_vec.o: lst_vec.c lst_vec.h + $(cc) -c $^ $(LIBS) + +clean: + rm -f *.o *.x *.gch + diff --git a/lst-vector/lst_vec.c b/lst-vector/lst_vec.c new file mode 100644 index 0000000..86bca0b --- /dev/null +++ b/lst-vector/lst_vec.c @@ -0,0 +1,8 @@ +#include "lst_vec.h" +#include <stdio.h> +#include <stdlib.h> + + +int main() { + return EXIT_SUCCESS; +} \ No newline at end of file diff --git a/lst-vector/lst_vec.h b/lst-vector/lst_vec.h new file mode 100644 index 0000000..d1a4b57 --- /dev/null +++ b/lst-vector/lst_vec.h @@ -0,0 +1,33 @@ +#ifndef _LST_VEC_H_ +#define _LST_VEC_H_ + +#include <math.h> +#include <stdio.h> +#include <stdlib.h> +#include <stdbool.h> +#include <assert.h> + + +typedef struct _element { + void *data; + struct _element *next; +} element; + +typedef element* lst_vector; + +lst_vector lst_vector_init(); +int lst_vector_length(lst_vector *v); +element lst_vector_push(lst_vector *v, void *element); +element lst_vector_pop(lst_vector *v); +lst_vector lst_vector_set(lst_vector *v, int index, void *element); +element lst_vector_get(lst_vector *v, int index); +element lst_vector_remove(lst_vector *v, int index); +lst_vector lst_vector_insert(lst_vector *v, void *element, int index); +void lst_vector_empty(lst_vector **v); + +lst_vector lst_vector_map(lst_vector *v, void *(*f)(void *)); +lst_vector lst_vector_filter(lst_vector *v, bool (*f)(void *)); + + +#endif + -- GitLab