package pfff

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Source file ograph.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
open Common

(* todo: 
 *  invariant succesors/predecessors
 *)

class virtual ['a] ograph =
object(o: 'o)
  method virtual empty: 'o

  method virtual add_node: 'a -> 'o
  method virtual del_node: 'a -> 'o

  method virtual add_arc: ('a * 'a) -> 'o
  method virtual del_arc: ('a * 'a) -> 'o

  method virtual successors: 'a -> 'a Oset.oset
  method virtual predecessors: 'a -> 'a Oset.oset

  method virtual nodes: 'a Oset.oset

  method virtual ancestors: 'a Oset.oset -> 'a Oset.oset
  method virtual children: 'a Oset.oset -> 'a Oset.oset
  method virtual brothers: 'a -> 'a Oset.oset

  method mydebug: ('a * 'a list) list = 
    (o#nodes)#tolist |> List.map (fun a -> (a, (o#successors a)#tolist))
end
OCaml

Innovation. Community. Security.