summaryrefslogtreecommitdiffhomepage
path: root/arraylist.h
diff options
context:
space:
mode:
authorrealtradam <[email protected]>2022-08-01 12:10:25 -0400
committerrealtradam <[email protected]>2022-08-01 12:10:25 -0400
commit4b2ec7c721eae2b95e57ee09ba5234abdb9755dc (patch)
tree9db52ea0e6edcec25320dc1830d527ee4e0fc683 /arraylist.h
downloadarraylist-4b2ec7c721eae2b95e57ee09ba5234abdb9755dc.tar.gz
arraylist-4b2ec7c721eae2b95e57ee09ba5234abdb9755dc.zip
init
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