`sig
module type G =
sig
type t
module V : Sig.COMPARABLE
val iter_vertex : (V.t -> unit) -> Topological.G.t -> unit
val iter_succ : (V.t -> unit) -> Topological.G.t -> V.t -> unit
end
module Make :
functor (G : G) ->
sig
val fold : (G.V.t -> 'a -> 'a) -> Topological.G.t -> 'a -> 'a
val iter : (G.V.t -> unit) -> Topological.G.t -> unit
end
module Make_stable :
functor
(G : sig
type t
module V : Sig.COMPARABLE
val iter_vertex : (V.t -> unit) -> t -> unit
val iter_succ : (V.t -> unit) -> t -> V.t -> unit
val in_degree : t -> V.t -> int
end) ->
sig
val fold : (G.V.t -> 'a -> 'a) -> Topological.G.t -> 'a -> 'a
val iter : (G.V.t -> unit) -> Topological.G.t -> unit
end
end`