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