Module Sig_pack.S.Dfs

module Dfs: sig .. end
Depth-first search

val iter : ?pre:(Sig_pack.S.V.t -> unit) ->
?post:(Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> unit
iter pre post g visits all nodes of g in depth-first search, applying pre to each visited node before its successors, and post after them. Each node is visited exactly once.
val prefix : (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> unit
applies only a prefix function
val postfix : (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> unit
applies only a postfix function

Same thing, but for a single connected component
val iter_component : ?pre:(Sig_pack.S.V.t -> unit) ->
?post:(Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> Sig_pack.S.V.t -> unit
val prefix_component : (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> Sig_pack.S.V.t -> unit
val postfix_component : (Sig_pack.S.V.t -> unit) -> Sig_pack.S.t -> Sig_pack.S.V.t -> unit
val has_cycle : Sig_pack.S.t -> bool