Herb C Reference
Loading...
Searching...
No Matches
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
6typedef struct ARRAY_STRUCT {
7 void** items;
8 size_t size;
9 size_t capacity;
11
12array_T* array_init(size_t capacity);
13
14void* array_get(const array_T* array, size_t index);
15void* array_first(array_T* array);
16void* array_last(array_T* array);
17
18void array_append(array_T* array, void* item);
19void array_set(const array_T* array, size_t index, void* item);
20void array_free(array_T** array);
21void array_remove(array_T* array, size_t index);
22
23size_t array_index_of(array_T* array, void* item);
24void array_remove_item(array_T* array, void* item);
25
26void array_push(array_T* array, void* item);
27void* array_pop(array_T* array);
28
29size_t array_capacity(const array_T* array);
30size_t array_size(const array_T* array);
31size_t array_sizeof(void);
32
33#endif
array_T * array_init(size_t capacity)
Definition array.c:12
size_t array_size(const array_T *array)
Definition array.c:120
struct ARRAY_STRUCT array_T
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_append(array_T *array, void *item)
Definition array.c:27
void * array_last(array_T *array)
Definition array.c:71
void * array_first(array_T *array)
Definition array.c:66
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
void * array_get(const array_T *array, size_t index)
Definition array.c:60
size_t array_index_of(array_T *array, void *item)
Definition array.c:92
void * array_pop(array_T *array)
Definition array.c:111
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
Definition array.h:6
size_t capacity
Definition array.h:9
size_t size
Definition array.h:8
void ** items
Definition array.h:7