]> git.lizzy.rs Git - nothing.git/blob - src/dynarray.h
Add TODO(#835)
[nothing.git] / src / dynarray.h
1 #ifndef DYNARRAY_H_
2 #define DYNARRAY_H_
3
4 #include <stdbool.h>
5
6 typedef struct Dynarray Dynarray;
7
8 Dynarray *create_dynarray(size_t element_size);
9 void destroy_dynarray(Dynarray *dynarray);
10
11 size_t dynarray_count(const Dynarray *dynarray);
12 void *dynarray_data(Dynarray *dynarray);
13 void dynarray_clear(Dynarray *dynarray);
14 // O(1) amortized
15 int dynarray_push(Dynarray *dynarray, const void *element);
16 bool dynarray_contains(const Dynarray *dynarray,
17                        const void *element);
18 // O(N)
19 void dynarray_delete_at(Dynarray *dynarray, size_t index);
20
21 #endif  // DYNARRAY_H_