Module Dag.Make

Parameters

module OT : Stdlib.Map.OrderedType

Signature

type node = OT.t
module NodeSet : Stdlib.Set.S with type elt = node with type t = Stdlib.Set.Make(OT).t with type elt = OT.t
type ('edge, 'info, 'cdata) t
val empty : ( 'e, 'i, 'd ) t
val add_edge : ( 'e, 'i, 'd ) t -> node -> 'e -> node -> ( 'e, 'i, 'd ) t
val from_node : ( 'e, 'i, 'd ) t -> node -> (node * 'e) list
val mem : ( 'e, 'i, 'd ) t -> node -> bool
val del_edge : ( 'e, 'i, 'd ) t -> node -> node -> ( 'e, 'i, 'd ) t
val del_nodes : ( 'e, 'i, 'd ) t -> NodeSet.t -> ( 'e, 'i, 'd ) t
val all_nodes : ( 'e, 'i, 'd ) t -> NodeSet.t
val get_info : ( 'e, 'i, 'd ) t -> node -> 'i option
val set_info : ( 'e, 'i, 'd ) t -> node -> 'i -> ( 'e, 'i, 'd ) t
val clear_info : ( 'e, 'i, 'd ) t -> node -> ( 'e, 'i, 'd ) t
module Property : sig ... end
val create_property : ( 'e, 'i, 'd ) t -> node list -> 'd -> ( 'e, 'i, 'd ) t
val property_of : ( 'e, 'i, 'd ) t -> node -> 'd Property.t list
val del_property : ( 'e, 'i, 'd ) t -> 'd Property.t -> ( 'e, 'i, 'd ) t
val iter : ( 'e, 'i, 'd ) t -> ( node -> 'd Property.t list -> 'i option -> (node * 'e) list -> unit ) -> unit