aboutsummaryrefslogtreecommitdiff
path: root/src/types/larray.h
blob: ff6785715b1a6de06ce8ab19c0dcb3f2da171993 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdint.h>

struct larray_item {
    uint64_t idx;
    void* value;
    int used;
};

typedef struct {
    struct larray_item* arr;
    size_t len, size;
} larray_t;

larray_t* larray_initl(int len);
larray_t* larray_init();
void larray_expand(larray_t** _l);
void larray_set(larray_t** _l, uint64_t idx, void* value);
int larray_geti(larray_t* l, uint64_t idx);
void* larray_get(larray_t* l, uint64_t idx);
void larray_clear(larray_t* l);