module Compare: sig
.. end
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