]> git.lizzy.rs Git - nothing.git/blobdiff - src/dynarray.h
(#1139) Add labels to the test level
[nothing.git] / src / dynarray.h
index 3a6a0d9256fa969f88d028ef77d7da9e8f033759..43d652be0c04a2b9bd3cff2d74a1dc121bc305b5 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef DYNARRAY_H_
 #define DYNARRAY_H_
 
+#include <stdlib.h>
 #include <stdbool.h>
 
 typedef struct Dynarray Dynarray;
@@ -12,6 +13,7 @@ size_t dynarray_count(const Dynarray *dynarray);
 void *dynarray_data(Dynarray *dynarray);
 void *dynarray_pointer_at(Dynarray *dynarray, size_t index);
 void dynarray_replace_at(Dynarray *dynarray, size_t index, void *element);
+void dynarray_copy_to(Dynarray *dynarray, void *dest, size_t index);
 void dynarray_clear(Dynarray *dynarray);
 // O(1) amortized
 // TODO(#981): dynarray_push should be called dynarray_push_copy
@@ -20,6 +22,9 @@ int dynarray_push_empty(Dynarray *dynarray);
 void dynarray_pop(Dynarray *dynarray, void *element);
 bool dynarray_contains(const Dynarray *dynarray,
                        const void *element);
+
+void dynarray_swap(Dynarray *dynarray, size_t i, size_t j);
+
 // O(N)
 void dynarray_delete_at(Dynarray *dynarray, size_t index);
 void dynarray_insert_before(Dynarray *dynarray, size_t index, void *element);