sig
type t
val create : ?n:int -> ?m:int -> unit -> t
val n : t -> int
val n_mem : t -> int
val m : t -> int
val del_vertex : t -> t -> int -> unit
val mem_vertex : t -> int -> bool
val add_edge : t -> int -> int -> unit
val del_edge : ?only_first:bool -> t -> int -> int -> unit
val mem_edge : t -> int -> int -> bool
val multiplicity_edge : t -> int -> int -> int
val out_degree : t -> int -> int
val reverse : ?store_reverse:bool -> t -> t
val symmetrize : t -> unit
val sort : ?store_reverse:bool -> t -> unit
val iter_succ : (int -> unit) -> t -> int -> unit
val fold_succ : (int -> 'a -> 'a) -> t -> int -> 'a -> 'a
val iter_vertex : (int -> unit) -> t -> unit
val fold_vertex : (int -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges : (int -> int -> unit) -> t -> unit
val fold_edges : (int -> int -> 'a -> 'a) -> t -> 'a -> 'a
val in_degree : t -> int -> int
val iter_pred : (int -> unit) -> t -> int -> unit
val fold_pred : (int -> 'a -> 'a) -> t -> int -> 'a -> 'a
val dump : out_channel -> t -> unit
val to_string : t -> string
type vertex
val index : t -> IntDigraph.US.vertex -> int
val vertex : t -> int -> IntDigraph.US.vertex
val add_vertex : t -> IntDigraph.US.vertex -> int
end