aboutsummaryrefslogtreecommitdiff
path: root/src/types/parray.h
blob: 306ade391fecca6c78052bffd1093b9af46444d4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

#ifndef __PARRAY_H
#define __PARRAY_H

typedef struct {
    void* value;
    str* key;
} pelem_t;

typedef struct {
    pelem_t* P;
    int len;
} parray_t;

enum free_type {
    NONE = 0, FREE = 1, STR = 2
};

parray_t* parray_init();
void parray_set(parray_t*, char*, void*);
void* parray_get(parray_t* , char*);
int parray_geti(parray_t* , char*);
void parray_remove(parray_t* p, char* key, enum free_type free);
void parray_clear(parray_t*, enum free_type);
void parray_lclear(parray_t*);
parray_t* parray_find(parray_t*, char*);

#endif //parray_h