Dinamic Array
 
Loading...
Searching...
No Matches
darr.h
Go to the documentation of this file.
1#ifndef DARR_H
2#define DARR_H
3
4#include <stdbool.h>
5#include <stddef.h>
6
7#ifndef DARR_DEFAULT_CAPACITY
13#define DARR_DEFAULT_CAPACITY 2
14#endif // !DARR_DEFAULT_CAPACITY
15
16#ifndef DARR_DEFAULT_GROWING_FACTOR
22#define DARR_DEFAULT_GROWING_FACTOR 1.25f
23#endif // !DARR_DEFAULT_GROWING_FACTOR
24
32typedef bool(compfun_t)(void const *curr, void const *value);
33
50typedef struct darr_t {
52 void **_arr;
54 size_t _size;
56 size_t _capacity;
58
59darr_t *darr_new(void);
60size_t darr_get_size(darr_t *da);
61size_t darr_get_capacity(darr_t *da);
62void *darr_at(darr_t *da, size_t index);
63int darr_push(darr_t *da, void *value, size_t size);
64int darr_pop(darr_t *da);
65int darr_insert_at(darr_t *da, size_t index, void *value, size_t size);
66int darr_delete_at(darr_t *da, size_t index);
67int darr_find(darr_t *da, void *value, compfun_t compare);
68void darr_destroy(darr_t *da);
69
70#endif // DARR_H
struct darr_t darr_t
size_t darr_get_capacity(darr_t *da)
Definition darr.c:45
int darr_pop(darr_t *da)
Definition darr.c:70
bool compfun_t(void const *curr, void const *value)
Definition darr.h:32
size_t darr_get_size(darr_t *da)
Definition darr.c:37
darr_t * darr_new(void)
Definition darr.c:21
int darr_find(darr_t *da, void *value, compfun_t compare)
Definition darr.c:123
void darr_destroy(darr_t *da)
Definition darr.c:131
int darr_push(darr_t *da, void *value, size_t size)
Definition darr.c:54
int darr_insert_at(darr_t *da, size_t index, void *value, size_t size)
Definition darr.c:86
void * darr_at(darr_t *da, size_t index)
Definition darr.c:50
int darr_delete_at(darr_t *da, size_t index)
Definition darr.c:106
bool compare(void const *curr, void const *value)
Definition main.c:111
Definition darr.h:50
void ** _arr
Definition darr.h:52
size_t _size
Definition darr.h:54
size_t _capacity
Definition darr.h:56