sig
val attrvertex :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a -> 'd
val attrhedge :
('a, 'b) SHGraph.compare ->
('c, 'b, 'd, 'e, 'f) SHGraph.graph -> 'b -> 'e
val is_vertex :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a -> bool
val is_hedge :
('a, 'b) SHGraph.compare ->
('c, 'b, 'd, 'e, 'f) SHGraph.graph -> 'b -> bool
val succhedge :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a -> 'c Sette.t
val predhedge :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a -> 'c Sette.t
val succvertex :
('a, 'b) SHGraph.compare ->
('c, 'b, 'd, 'e, 'f) SHGraph.graph -> 'b -> 'c array
val predvertex :
('a, 'b) SHGraph.compare ->
('c, 'b, 'd, 'e, 'f) SHGraph.graph -> 'b -> 'c array
val succ_vertex :
('a, 'b) SHGraph.compare ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a -> 'a Sette.t
val pred_vertex :
('a, 'b) SHGraph.compare ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a -> 'a Sette.t
val add_vertex :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a -> 'd -> unit
val add_hedge :
('a, 'b) SHGraph.compare ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph ->
'b -> 'd -> pred:'a array -> succ:'a array -> unit
val replace_attrvertex :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a -> 'd -> unit
val replace_attrhedge :
('a, 'b) SHGraph.compare ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'b -> 'd -> unit
val remove_hedge :
('a, 'b) SHGraph.compare ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'b -> unit
val remove_vertex :
('a, 'b) SHGraph.compare ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a -> unit
val topological_sort :
('a, 'b) SHGraph.compare ->
?priority:'b SHGraph.priority ->
('a, 'b, 'c, 'd, 'e) SHGraph.t -> 'a -> 'a list
val topological_sort_multi :
('a, 'b) SHGraph.compare ->
'a ->
'b ->
?priority:'b SHGraph.priority ->
('a, 'b, 'c, 'd, 'e) SHGraph.t -> 'a Sette.t -> 'a list
val reachable :
('a, 'b) SHGraph.compare ->
?filter:('b -> bool) ->
('a, 'b, 'c, 'd, 'e) SHGraph.t -> 'a -> 'a Sette.t * 'b Sette.t
val reachable_multi :
('a, 'b) SHGraph.compare ->
'a ->
'b ->
?filter:('b -> bool) ->
('a, 'b, 'c, 'd, 'e) SHGraph.t -> 'a Sette.t -> 'a Sette.t * 'b Sette.t
val cfc :
('a, 'b) SHGraph.compare ->
?priority:'b SHGraph.priority ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a -> 'a list list
val cfc_multi :
('a, 'b) SHGraph.compare ->
?priority:'b SHGraph.priority ->
'a ->
'b -> ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a Sette.t -> 'a list list
val scfc :
('a, 'b) SHGraph.compare ->
?priority:'b SHGraph.priority ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a -> (unit, 'a) Ilist.t
val scfc_multi :
('a, 'b) SHGraph.compare ->
'a ->
'b ->
?priority:'b SHGraph.priority ->
('a, 'b, 'c, 'd, 'e) SHGraph.graph -> 'a Sette.t -> (unit, 'a) Ilist.t
val print :
('a, 'b) SHGraph.compare ->
(Format.formatter -> 'a -> unit) ->
(Format.formatter -> 'b -> unit) ->
(Format.formatter -> 'c -> unit) ->
(Format.formatter -> 'd -> unit) ->
(Format.formatter -> 'e -> unit) ->
Format.formatter -> ('a, 'b, 'c, 'd, 'e) SHGraph.graph -> unit
val min :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a Sette.t
val max :
('a, 'b) SHGraph.compare ->
('a, 'c, 'd, 'e, 'f) SHGraph.graph -> 'a Sette.t
end