libsapling  0.8.0
avl.h
Go to the documentation of this file.
1 #ifndef _LIBSAPLING_AVL_H_
2 #define _LIBSAPLING_AVL_H_
3 
17 #include "libsapling/dm/graph.h"
19 
20 void *avl__data(const node_t node);
21 void avl__access(enum qt qt, node_t *ref, void *info, predicate_t predicate,
22  apply_t apply, cmp_t comparator);
23 void avl__insert(node_t *ref, void *info, predicate_t predicate,
24  cmp_t comparator);
25 void avl__delete(node_t *ref, void *info, predicate_t predicate,
26  cmp_t comparator);
27 void avl__print(FILE *stream, node_t *ref, fpfdata_t fpfdata);
28 void avl__dump_dot(FILE *stream, node_t *ref, fpfdata_t fpfdata);
29 int avl__length(const node_t *ref);
30 
31 #endif
Graph implementation.
void(* apply_t)(node_t *ref, const struct info_stack *info)
Performs a user-defined operation on the node.
Definition: graph.h:117
void(* fpfdata_t)(FILE *stream, const void *data)
File print format data function prototype.
Definition: graph.h:152
int(* predicate_t)(const node_t *ref, const struct info_stack *info)
Decides whether to run the apply function on an item. Behavior is modified by quantifiers.
Definition: graph.h:112
int(* cmp_t)(const void *a, const void *b)
Generic comparator function prototype.
Definition: logic.h:22
qt
Quantifier definitions.
Definition: logic.h:10
Typed AVL interface implementation.