21 res->
alloc = initial_alloc;
34 size_t grow = array->
alloc >> 4;
41 size_t new_alloc = array->
alloc + grow;
48 array->
data = new_data;
49 array->
alloc = new_alloc;
64 return array->
count - 1;
79 if(idx >= array->
count) {
85 if(idx >= array->
count) {
111 if(idx >= array->
count) {
119 if(idx >= array->
count) {
const void * flexarray_getall(flexarray_t array)
void flexarray_prepend(flexarray_t array, void *data)
flexarray_t new_flexarray(size_t member_size, size_t initial_alloc, allocator_t *alloc)
void flexarray_remove(flexarray_t array, uint64_t idx)
static void flexarray_grow(flexarray_t array, size_t copy_offset)
void delete_flexarray(flexarray_t array)
void flexarray_set(flexarray_t array, void *buffer, uint64_t idx)
static void * flexarray_data(flexarray_t array, uint64_t idx)
uint64_t flexarray_find(flexarray_t array, void *data)
Will return -1 when not found.
uint64_t flexarray_append(flexarray_t array, void *data)
void flexarray_get(flexarray_t array, void *buffer, uint64_t idx)
size_t flexarray_member_size(flexarray_t array)
size_t flexarray_length(flexarray_t array)
struct flexarray * flexarray_t
void * memcpy(void *dest, void const *source, size_t size)
int memcmp(const void *s1, const void *s2, size_t size)
void * memmove(void *dest, const void *source, size_t size)
void(* dealloc)(struct allocator *alloc, void *mem)
void *(* alloc)(struct allocator *alloc, size_t size)