Parameters
Signature
type edge = E.t
val mem_edge : ('a * S.t) HM.t -> HM.key -> S.elt -> boolval mem_edge_e : ('a * S.t) HM.t -> (HM.key * S.elt) -> boolval find_edge : ('a * S.t) HM.t -> HM.key -> S.elt -> HM.key * S.eltval find_all_edges : ('a * S.t) HM.t -> HM.key -> S.elt -> (HM.key * S.elt) listval unsafe_remove_edge : (S.t * S.t) HM.t -> HM.key -> S.elt -> (S.t * S.t) HM.tval unsafe_remove_edge_e : (S.t * S.t) HM.t -> (HM.key * S.elt) -> (S.t * S.t) HM.tval remove_edge : (S.t * S.t) HM.t -> HM.key -> HM.key -> (S.t * S.t) HM.tval remove_edge_e : (S.t * S.t) HM.t -> (HM.key * HM.key) -> (S.t * S.t) HM.tval iter_succ : (S.elt -> unit) -> ('a * S.t) HM.t -> HM.key -> unitval fold_succ : (S.elt -> 'a -> 'a) -> ('b * S.t) HM.t -> HM.key -> 'a -> 'aval iter_succ_e : ((HM.key * S.elt) -> unit) -> ('a * S.t) HM.t -> HM.key -> unitval fold_succ_e : ((HM.key * S.elt) -> 'a -> 'a) -> ('b * S.t) HM.t -> HM.key -> 'a -> 'aval succ : ('a * S.t) HM.t -> HM.key -> S.elt listval succ_e : ('a * S.t) HM.t -> HM.key -> (HM.key * S.elt) listval map_vertex : (HM.key -> HM.key) -> (S.t * S.t) HM.t -> (S.t * S.t) HM.t
type t = (S.t * S.t) HM.t
val iter_edges : (HM.key -> S.elt -> unit) -> ('a * S.t) HM.t -> unitval fold_edges : (HM.key -> S.elt -> 'a -> 'a) -> ('b * S.t) HM.t -> 'a -> 'aval iter_edges_e : ((HM.key * S.elt) -> unit) -> ('a * S.t) HM.t -> unitval fold_edges_e : ((HM.key * S.elt) -> 'a -> 'a) -> ('b * S.t) HM.t -> 'a -> 'aval iter_pred : (S.elt -> unit) -> (S.t * 'a) HM.t -> HM.key -> unitval fold_pred : (S.elt -> 'a -> 'a) -> (S.t * 'b) HM.t -> HM.key -> 'a -> 'aval pred : (S.t * 'a) HM.t -> HM.key -> S.elt listval in_degree : (S.t * 'a) HM.t -> HM.key -> intval iter_pred_e : ((S.elt * HM.key) -> unit) -> (S.t * 'a) HM.t -> HM.key -> unitval fold_pred_e : ((S.elt * HM.key) -> 'a -> 'a) -> (S.t * 'b) HM.t -> HM.key -> 'a -> 'aval pred_e : (S.t * 'a) HM.t -> HM.key -> (S.elt * HM.key) list
type vertex = HM.key
val is_directed : boolval empty : 'a HM.returnval create : ?size:int -> unit -> 'a HM.tval clear : 'a HM.t -> unitval is_empty : 'a HM.t -> boolval copy : 'a HM.t -> 'a HM.tval nb_vertex : 'a HM.t -> intval nb_edges : ('a * S.t) HM.t -> intval out_degree : ('a * S.t) HM.t -> HM.key -> intval mem_vertex : 'a HM.t -> HM.key -> boolval unsafe_add_vertex : (S.t * S.t) HM.t -> HM.key -> (S.t * S.t) HM.tval add_vertex : (S.t * S.t) HM.t -> HM.key -> (S.t * S.t) HM.tval iter_vertex : (HM.key -> unit) -> 'a HM.t -> unitval fold_vertex : (HM.key -> 'a -> 'a) -> 'b HM.t -> 'a -> 'aval unsafe_add_edge : (S.t * S.t) HM.t -> HM.key -> S.elt -> (S.t * S.t) HM.tval add_edge : (S.t * S.t) HM.t -> HM.key -> S.elt -> (S.t * S.t) HM.tval add_edge_e : (S.t * S.t) HM.t -> (HM.key * S.elt) -> (S.t * S.t) HM.t