28 struct array *
const o_arr,
29 size_t const i_growby);
33 struct array *
const io_arr);
37 struct array *
const io_arr);
41 struct array *
const io_arr,
46 struct array *
const io_arr,
47 size_t const i_index);
void array_assign(struct array *const o_arr, size_t const i_growby)
initialize arrary object
Definition: array.c:18
int array_push(struct array *const io_arr, void *io_object)
adds an element to the end of the array
Definition: array.c:41
void * array_remove(struct array *const io_arr, size_t const i_index)
removes an element from the array Ownership of the object is transferred to the caller.
Definition: array.c:101
void * array_pop(struct array *const io_arr)
remove an element from the end of the array. Ownership of the object is transferred to the caller...
Definition: array.c:84
container to hold objects
Definition: array.h:14
size_t m_slots
Definition: array.h:16
void array_discharge(struct array *const io_arr)
release resources held by object. The routine will not release resources held by the object itself...
Definition: array.c:30
void ** m_base
Definition: array.h:19
size_t m_growby
Definition: array.h:18
size_t m_taken
Definition: array.h:17