libsapling  0.8.0
equivalence_class.h
Go to the documentation of this file.
1 #ifndef _LIBSAPLING_EQUIVALENCE_CLASS_H_
2 #define _LIBSAPLING_EQUIVALENCE_CLASS_H_
3 
10 #include "libsapling/dm/graph.h"
12 
13 void *equivalence_class__data(node_t ref);
14 void equivalence_class__insert(node_t *ref, void *info);
15 void *equivalence_class__access_representative(node_t *ref);
16 void equivalence_class__access_non_representatives(enum qt qt, node_t *ref,
17  void *info, predicate_t predicate, apply_t apply);
18 
19 #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
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
qt
Quantifier definitions.
Definition: logic.h:10
Typed equivalence class interface implementation.