Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/MLRISC/graphs/bigraph.sig
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/graphs/bigraph.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 411 - (view) (download) (as text)
Original Path: sml/branches/SMLNJ/src/MLRISC/graphs/bigraph.sig

1 : monnier 411 (*
2 :     * This is the signature of a bipartite graph
3 :     *
4 :     * -- Allen
5 :     *)
6 :    
7 : monnier 245 signature BIPARTITE_GRAPH =
8 :     sig
9 :    
10 :     include GRAPH
11 :    
12 :     datatype ('m,'n,'e,'g) bigraph = BIGRAPH of ('m,'n,'e,'g) bigraph_methods
13 :     withtype ('m,'n,'e,'g) bigraph_methods =
14 :     { name : string,
15 :     graph_info : 'g,
16 :    
17 :     (* inserting/removing nodes and edges *)
18 :     new_src : 'm -> 'm node,
19 :     new_dst : 'n -> 'n node,
20 :     add_src : 'm node -> unit,
21 :     add_dst : 'n node -> unit,
22 :     add_edge : 'e edge -> unit,
23 :     remove_src : node_id -> unit,
24 :     remove_dst : node_id -> unit,
25 :     remove_edge : 'e edge -> unit,
26 :    
27 :     (* collect deleted node ids *)
28 :     garbage_collect : unit -> unit,
29 :    
30 :     (* selectors *)
31 :     src_nodes : unit -> 'm node list,
32 :     dst_nodes : unit -> 'n node list,
33 :     edges : unit -> 'e edge list,
34 :     src_order : unit -> int,
35 :     dst_order : unit -> int,
36 :     size : unit -> int,
37 :     capacity : unit -> int,
38 :     succ : node_id -> node_id list,
39 :     pred : node_id -> node_id list,
40 :     out_edges : node_id -> 'e edge list,
41 :     in_edges : node_id -> 'e edge list,
42 :     has_edge : node_id * node_id -> bool,
43 :     has_src : node_id -> bool,
44 :     has_dst : node_id -> bool,
45 :     src_node : node_id -> 'm,
46 :     dst_node : node_id -> 'n,
47 :    
48 :     (* iterators *)
49 :     forall_src : ('m node -> unit) -> unit,
50 :     forall_dst : ('n node -> unit) -> unit,
51 :     forall_edges : ('e edge -> unit) -> unit
52 :     }
53 :     end
54 :    

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0