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
32
typedef
bool(
compfun_t
)(
void
const
*curr,
void
const
*value);
33
50
typedef
struct
darr_t
{
52
void
**
_arr
;
54
size_t
_size
;
56
size_t
_capacity
;
57
}
darr_t
;
58
59
darr_t
*
darr_new
(
void
);
60
size_t
darr_get_size
(
darr_t
*da);
61
size_t
darr_get_capacity
(
darr_t
*da);
62
void
*
darr_at
(
darr_t
*da,
size_t
index);
63
int
darr_push
(
darr_t
*da,
void
*value,
size_t
size);
64
int
darr_pop
(
darr_t
*da);
65
int
darr_insert_at
(
darr_t
*da,
size_t
index,
void
*value,
size_t
size);
66
int
darr_delete_at
(
darr_t
*da,
size_t
index);
67
int
darr_find
(
darr_t
*da,
void
*value,
compfun_t
compare
);
68
void
darr_destroy
(
darr_t
*da);
69
70
#endif
// DARR_H
darr_t
struct darr_t darr_t
darr_get_capacity
size_t darr_get_capacity(darr_t *da)
Definition
darr.c:45
darr_pop
int darr_pop(darr_t *da)
Definition
darr.c:70
compfun_t
bool compfun_t(void const *curr, void const *value)
Definition
darr.h:32
darr_get_size
size_t darr_get_size(darr_t *da)
Definition
darr.c:37
darr_new
darr_t * darr_new(void)
Definition
darr.c:21
darr_find
int darr_find(darr_t *da, void *value, compfun_t compare)
Definition
darr.c:123
darr_destroy
void darr_destroy(darr_t *da)
Definition
darr.c:131
darr_push
int darr_push(darr_t *da, void *value, size_t size)
Definition
darr.c:54
darr_insert_at
int darr_insert_at(darr_t *da, size_t index, void *value, size_t size)
Definition
darr.c:86
darr_at
void * darr_at(darr_t *da, size_t index)
Definition
darr.c:50
darr_delete_at
int darr_delete_at(darr_t *da, size_t index)
Definition
darr.c:106
compare
bool compare(void const *curr, void const *value)
Definition
main.c:111
darr_t
Definition
darr.h:50
darr_t::_arr
void ** _arr
Definition
darr.h:52
darr_t::_size
size_t _size
Definition
darr.h:54
darr_t::_capacity
size_t _capacity
Definition
darr.h:56
include
darr.h
Generated by
1.12.0