comparison src/ploki/variable.h @ 4223:ac0403686959

<oerjan> rm -rf src/ploki; mv ploki src
author HackBot
date Fri, 20 Dec 2013 22:18:50 +0000
parents
children
comparison
equal deleted inserted replaced
4222:b0f3e267bb1e 4223:ac0403686959
1 #ifndef VARIABLE_H_
2 #define VARIABLE_H_
3
4 #include "config.h"
5 #include "strhash.h"
6
7 #include <stddef.h>
8
9 typedef size_t t_vr_cookie;
10 #define VR_NO_COOKIE ((size_t)-1)
11
12 typedef struct {
13 void **data;
14 size_t size, length;
15 t_strhash *hash;
16 void (*del)(void *);
17 } t_vr_container;
18
19 t_vr_container *vr_new(void (*)(void *));
20 void vr_delete(t_vr_container *);
21
22 t_vr_cookie vr_exists(const t_vr_container *, const char *, size_t);
23 t_vr_cookie vr_register(t_vr_container *, const char *, size_t, void *);
24
25 void vr_freeze(t_vr_container *);
26
27 ATTR_PURE
28 void *vr_data(const t_vr_container *, t_vr_cookie);
29
30 #if !DEBUG_P
31 #define vr_data(vc, c) ((vc)->data[c])
32 #endif
33
34 #endif /* VARIABLE_H_ */