sig
type t
val empty : Graph.t
val of_graph6 : string -> Graph.t
val make_clique : int -> Graph.t
val num_vertices : Graph.t -> int
val num_edges : Graph.t -> int
val has_vertex : Graph.t -> int -> bool
val vertices : Graph.t -> IntSet.t
val is_connected : Graph.t -> int -> int -> bool
val neighbors : Graph.t -> int -> IntSet.t
val is_deg0 : Graph.t -> int -> bool
val deg : Graph.t -> int -> int
val is_clique : Graph.t -> bool
val choose_edge : Graph.t -> int * int
val add_vertex : Graph.t -> int -> Graph.t
val new_vertex : Graph.t -> int
val connect : Graph.t -> int -> int -> Graph.t
val disconnect : Graph.t -> int -> int -> Graph.t
val delete_vertex : Graph.t -> int -> Graph.t
val subgraph : Graph.t -> IntSet.t -> Graph.t
val clear_subgraph : Graph.t -> IntSet.t -> Graph.t
val complete_subgraph : Graph.t -> IntSet.t -> Graph.t
val num_edges_in_subgraph : Graph.t -> IntSet.t -> int
val fold_vertices : ('a -> int -> IntSet.t -> 'a) -> Graph.t -> 'a -> 'a
val fold_neighbors : ('a -> int -> 'a) -> Graph.t -> int -> 'a -> 'a
val fold_edges : ('a -> int -> int -> 'a) -> Graph.t -> 'a -> 'a
val fold_subgraph_edges :
('a -> int -> int -> 'a) -> Graph.t -> IntSet.t -> 'a -> 'a
val iter_edges : (int -> int -> unit) -> Graph.t -> unit
val complement : Graph.t -> Graph.t
val output : Pervasives.out_channel -> Graph.t -> unit
val print : Graph.t -> unit
val dump : Graph.t -> unit
end