Dynarray.c
dynarray.h
Go to the documentation of this file.
1 
13 #ifndef DYNARRAY
14 #define DYNARRAY
15 #include <stdlib.h>
16 
20 typedef struct {
22  size_t item_size;
24  size_t capacity;
26  size_t length;
27 } array_info;
28 
35 void* construct_array(size_t capacity, size_t item_size);
41 array_info* get_array_info(void* array);
48 void insert_at(void* array, void* item, int pos);
54 size_t array_length(void* array);
60 void push_back(void* array, void* item);
61 #endif
void push_back(void *array, void *item)
Pushes to the back of the array length.
Definition: dynarray.c:35
size_t array_length(void *array)
Gets the length of the array.
Definition: dynarray.c:21
void insert_at(void *array, void *item, int pos)
Inserts an item in a specific slot, overwriting any existing item.
Definition: dynarray.c:40
void * construct_array(size_t capacity, size_t item_size)
Creates a dynamic array.
Definition: dynarray.c:6
array_info * get_array_info(void *array)
Retrieves the array information of a given array.
Definition: dynarray.c:17
Saves stats about the array for memory handling.
Definition: dynarray.h:20
size_t item_size
The size of a single entry in bytes.
Definition: dynarray.h:22
size_t capacity
The number of available "slots" in the array.
Definition: dynarray.h:24
size_t length
The number of currently filled "slots" in the array.
Definition: dynarray.h:26