$darkmode
Herb C Reference
array.h
Go to the documentation of this file.
1 #ifndef HERB_ARRAY_H
2 #define HERB_ARRAY_H
3 
4 #include <stdlib.h>
5 
6 typedef struct ARRAY_STRUCT {
7  void** items;
8  size_t size;
9  size_t capacity;
11 
12 array_T* array_init(size_t capacity);
13 
14 void* array_get(const array_T* array, size_t index);
15 void* array_first(array_T* array);
16 void* array_last(array_T* array);
17 
18 void array_append(array_T* array, void* item);
19 void array_set(const array_T* array, size_t index, void* item);
20 void array_free(array_T** array);
21 void array_remove(array_T* array, size_t index);
22 
23 size_t array_index_of(array_T* array, void* item);
24 void array_remove_item(array_T* array, void* item);
25 
26 void array_push(array_T* array, void* item);
27 void* array_pop(array_T* array);
28 
29 size_t array_capacity(const array_T* array);
30 size_t array_size(const array_T* array);
31 size_t array_sizeof(void);
32 
33 #endif
void * array_last(array_T *array)
Definition: array.c:71
size_t array_size(const array_T *array)
Definition: array.c:120
struct ARRAY_STRUCT array_T
void * array_first(array_T *array)
Definition: array.c:66
void array_free(array_T **array)
Definition: array.c:130
void array_remove_item(array_T *array, void *item)
Definition: array.c:100
void * array_pop(array_T *array)
Definition: array.c:111
void array_append(array_T *array, void *item)
Definition: array.c:27
void array_set(const array_T *array, size_t index, void *item)
Definition: array.c:76
void array_remove(array_T *array, size_t index)
Definition: array.c:82
size_t array_index_of(array_T *array, void *item)
Definition: array.c:92
array_T * array_init(size_t capacity)
Definition: array.c:12
size_t array_sizeof(void)
Definition: array.c:8
void array_push(array_T *array, void *item)
Definition: array.c:107
size_t array_capacity(const array_T *array)
Definition: array.c:126
void * array_get(const array_T *array, size_t index)
Definition: array.c:60
Definition: array.h:6
size_t capacity
Definition: array.h:9
size_t size
Definition: array.h:8
void ** items
Definition: array.h:7