aboutsummaryrefslogtreecommitdiff
path: root/collections/vector/vector.h
diff options
context:
space:
mode:
Diffstat (limited to 'collections/vector/vector.h')
-rw-r--r--collections/vector/vector.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/collections/vector/vector.h b/collections/vector/vector.h
new file mode 100644
index 0000000..4d6d04c
--- /dev/null
+++ b/collections/vector/vector.h
@@ -0,0 +1,37 @@
+#ifndef VECTOR_H
+#define VECTOR_H
+
+typedef struct vector vec;
+
+/*constructors*/
+vec* vec_new();
+vec* vec_with_capacity(int);
+
+/*management*/
+int vec_size(vec*);
+int vec_capacity(vec*);
+vec* vec_cp(vec*);
+void vec_print(vec*, char* (void*));
+
+/*data*/
+void vec_push(vec*, void*);
+void* vec_pop(vec*);
+void* vec_back(vec*);
+
+void vec_set(vec*, int, void*);
+void* vec_index(vec*, int);
+
+void vec_insert(vec*, int, void*);
+void* vec_remove(vec*, int);
+
+void vec_swap(vec*, int, int);
+void* vec_swap_pop(vec*, int);
+
+
+/*memory*/
+void vec_truncate(vec*, int);
+void vec_reserve(vec*, int);
+
+void vec_clear(vec*);
+void vec_free(vec*);
+#endif