type node
module NodeSet : Stdlib.Set.S with type NodeSet.elt = node
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
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