 |
libsapling
0.8.0
|
Go to the documentation of this file. 1 #ifndef _LIBSAPLING_FIRST_OUT_BUFFER_H_
2 #define _LIBSAPLING_FIRST_OUT_BUFFER_H_
12 #include "libsapling/dm/path.h"
18 #define FIRST_IN predicate_0
24 #define LAST_IN predicate_1
26 #define IMPLEMENT_FIRST_OUT_BUFFER(FIRST_OUT, SYM) \
28 void SYM##__insert(node_t *ref, void *info) \
30 path__insert(ref, info, FIRST_OUT); \
33 void SYM##__delete(node_t *ref) \
35 path__delete(E_QT, ref, NULL, predicate_1); \
44 void get_data(node_t *ref, const struct info_stack *info) \
47 struct get_data *user = info->user; \
48 user->data = path__data(*ref); \
52 void *SYM##__access(node_t *ref) \
54 struct get_data info = { NULL }; \
55 path__access(E_QT, ref, &info, predicate_1, get_data); \