Module type CCGraph.MAP

module type MAP = sig .. end

type vertex 
type t 
val as_graph : t ->
(vertex, vertex * vertex) CCGraph.graph
Graph view of the map
val empty : t
val add_edge : vertex -> vertex -> t -> t
val remove_edge : vertex -> vertex -> t -> t
val add : vertex -> t -> t
Add a vertex, possibly with no outgoing edge
val remove : vertex -> t -> t
Remove the vertex and all its outgoing edges. Edges that point to the vertex are NOT removed, they must be manually removed with CCGraph.MAP.remove_edge
val union : t -> t -> t
val vertices : t -> vertex CCGraph.sequence
val vertices_l : t -> vertex list
val of_list : (vertex * vertex) list -> t
val add_list : (vertex * vertex) list ->
t -> t
val to_list : t -> (vertex * vertex) list
val of_seq : (vertex * vertex) CCGraph.sequence -> t
val add_seq : (vertex * vertex) CCGraph.sequence ->
t -> t
val to_seq : t -> (vertex * vertex) CCGraph.sequence