summaryrefslogtreecommitdiffhomepage
path: root/arraylist.h
diff options
context:
space:
mode:
Diffstat (limited to 'arraylist.h')
-rw-r--r--arraylist.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/arraylist.h b/arraylist.h
new file mode 100644
index 0000000..7a1f08e
--- /dev/null
+++ b/arraylist.h
@@ -0,0 +1,20 @@
+#ifndef ARRAYLIST_H
+#define ARRAYLIST_H
+
+#include <stdbool.h>
+
+typedef struct array_list_type Arraylist;
+
+Arraylist* al_create(int type_size);
+void al_free(Arraylist* al);
+void* al_access(Arraylist* al, int position);
+bool al_push(Arraylist* al, void* item);
+void al_delete_last(Arraylist* al);
+bool al_delete_at(Arraylist *al, int position);
+bool al_allocate_at_least(Arraylist* al, int size);
+int al_len(Arraylist* al);
+
+// give 2 indexes, moves source to overwrite the target
+bool al_overwrite_and_delete(Arraylist* al, int source, int target);
+
+#endif