aboutsummaryrefslogtreecommitdiff
path: root/src/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/vector.h')
-rw-r--r--src/vector.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/vector.h b/src/vector.h
new file mode 100644
index 0000000..b329192
--- /dev/null
+++ b/src/vector.h
@@ -0,0 +1,26 @@
+#ifndef VECTOR_H
+#define VECTOR_H
+
+#include <stddef.h>
+
+#define INITAL_CAPACITY 10
+#define GROWTH_FACTOR 2
+
+typedef struct Vector Vector;
+struct Vector {
+ void **data;
+ size_t size;
+ size_t capacity;
+};
+
+Vector *vector_new(void);
+void vector_delete(Vector *v);
+void vector_push(Vector *v, void *element);
+void *vector_pop(Vector *v);
+void *vector_get(Vector *v, size_t index);
+void vector_set(Vector *v, size_t index, void *element);
+size_t vector_size(Vector *v);
+int vector_is_empty(Vector *v);
+void vector_clear(Vector *v);
+
+#endif // !VECTOR_H