From c40cb17117e37f7d73e01c5b8ae8527703c5f183 Mon Sep 17 00:00:00 2001
From: Abivarman <abivarman.kandiah@etu.hesge.ch>
Date: Thu, 24 Feb 2022 11:16:45 +0100
Subject: [PATCH] add print vector function

---
 header/vectors.h   |  1 +
 src/test_vectors.c | 17 +++++++++++++++--
 src/vectors.c      |  8 ++++++++
 3 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/header/vectors.h b/header/vectors.h
index 10f6c41..629f278 100644
--- a/header/vectors.h
+++ b/header/vectors.h
@@ -29,5 +29,6 @@ type vector_remove(vector vec, int index);
 void vector_insert(vector vec, type element, int index);
 void vector_empty(vector vec);
 void vector_free(vector vec);
+void vector_print(vector vec, void (*print)(type));
 
 #endif
\ No newline at end of file
diff --git a/src/test_vectors.c b/src/test_vectors.c
index 72816a2..96177cc 100644
--- a/src/test_vectors.c
+++ b/src/test_vectors.c
@@ -10,6 +10,8 @@
 #include <stdint.h>
 #include "../header/vectors.h"
 
+void print_type(type val);
+
 int main()
 {	
 	//Test Vector create
@@ -49,10 +51,21 @@ int main()
 	vector_empty(test);
 	printf("Empty Vector lenght : %d \n", vector_length(test));
 
-	//Test Vector Free
-	vector_free(test);
+	//Test Vector Print
+	for (int i = 0; i < 6; i++)
+	{
+		vector_push(test, i);
+	}
+	vector_print(test, &print_type);
 
 	
+	//Test Vector Free
+	vector_free(test);
 
 	return 0;
+}
+
+void print_type(type val)
+{
+	printf("%d \n", val);
 }
\ No newline at end of file
diff --git a/src/vectors.c b/src/vectors.c
index bc18ac3..d732979 100644
--- a/src/vectors.c
+++ b/src/vectors.c
@@ -127,4 +127,12 @@ void vector_free(vector vec)
 {
 	free(vec->content);
 	free(vec);
+}
+
+void vector_print(vector vec, void (*print)(type))
+{
+	for (int i = 0; i < vec->length; i++)
+	{
+		print(vec->content[i]);
+	}
 }
\ No newline at end of file
-- 
GitLab