18#define DYNARRAY_GROWTH_NUMERATOR 3
19#define DYNARRAY_GROWTH_DENOMINATOR 2
22#define DYNARRAY_INITIAL_CAPACITY 8
25#define DYNARRAY_SHRINK_THRESHOLD 4
125static inline size_t dynarray_size(
const dynarray_t* arr) {
return arr ? arr->
size : 0; }
132static inline size_t dynarray_capacity(
const dynarray_t* arr) {
return arr ? arr->
capacity : 0; }
139static inline bool dynarray_is_empty(
const dynarray_t* arr) {
return arr == NULL || arr->
size == 0; }
bool dynarray_push(dynarray_t *arr, const void *element)
bool dynarray_set(dynarray_t *arr, size_t index, const void *element)
bool dynarray_pop(dynarray_t *arr, void *out_element)
bool dynarray_shrink_to_fit(dynarray_t *arr)
void * dynarray_get(const dynarray_t *arr, size_t index)
bool dynarray_init(dynarray_t *arr, size_t element_size, size_t initial_capacity)
void dynarray_clear(dynarray_t *arr)
void dynarray_free(dynarray_t *arr)
bool dynarray_reserve(dynarray_t *arr, size_t new_capacity)