Commit | Line | Data |
---|---|---|
978fd7e5 C |
1 | open Common |
2 | ||
3 | ||
4 | (* essentially a convenient way to access a hash and its reverse hash *) | |
5 | ||
6 | class ['key, 'node, 'edge] ograph_mutable : | |
7 | object ('o) | |
8 | method add_node : 'key -> 'node -> unit | |
9 | method del_node : 'key -> unit | |
10 | method replace_node: 'key -> 'node -> unit | |
11 | ||
12 | ||
13 | method add_arc : ('key * 'key) -> 'edge -> unit | |
14 | method del_arc : ('key * 'key) -> 'edge -> unit | |
15 | ||
16 | method nodes : ('key, 'node) Oassoc.oassoc | |
17 | ||
18 | method successors : 'key -> ('key * 'edge) Oset.oset | |
19 | method predecessors : 'key -> ('key * 'edge) Oset.oset | |
20 | method allsuccessors : ('key, ('key * 'edge) Oset.oset) Oassoc.oassoc | |
21 | ||
22 | ||
23 | method del_leaf_node_and_its_edges: 'key -> unit | |
24 | method ancestors : 'key -> 'key Oset.oset | |
25 | method leaf_nodes : unit -> 'key Oset.oset | |
26 | ||
27 | end | |
28 | ||
ae4735db C |
29 | val print_ograph_generic: |
30 | str_of_key:('key -> string) -> | |
31 | str_of_node:('key -> 'node -> string) -> | |
32 | Common.filename -> | |
33 | ('key, 'node,'edge) ograph_mutable -> | |
978fd7e5 | 34 | unit |