sig
type ('v, 'e) path = ('v * 'e * 'v) list
val generic :
?tbl:'v CCGraph.set ->
bag:'v CCGraph.bag ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence -> 'v CCGraph.sequence_once
val generic_tag :
tags:'v CCGraph.tag_set ->
bag:'v CCGraph.bag ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence -> 'v CCGraph.sequence_once
val dfs :
?tbl:'v CCGraph.set ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence -> 'v CCGraph.sequence_once
val dfs_tag :
tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence -> 'v CCGraph.sequence_once
val bfs :
?tbl:'v CCGraph.set ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence -> 'v CCGraph.sequence_once
val bfs_tag :
tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence -> 'v CCGraph.sequence_once
val dijkstra :
?tbl:'v CCGraph.set ->
?dist:('e -> int) ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence ->
('v * int * ('v, 'e) CCGraph.Traverse.path) CCGraph.sequence_once
val dijkstra_tag :
?dist:('e -> int) ->
tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.t ->
'v CCGraph.sequence ->
('v * int * ('v, 'e) CCGraph.Traverse.path) CCGraph.sequence_once
module Event :
sig
type edge_kind = [ `Back | `Cross | `Forward ]
type ('v, 'e) t =
[ `Edge of 'v * 'e * 'v * CCGraph.Traverse.Event.edge_kind
| `Enter of 'v * int * ('v, 'e) CCGraph.Traverse.path
| `Exit of 'v ]
val get_vertex :
('v, 'e) CCGraph.Traverse.Event.t -> ('v * [ `Enter | `Exit ]) option
val get_enter : ('v, 'e) CCGraph.Traverse.Event.t -> 'v option
val get_exit : ('v, 'e) CCGraph.Traverse.Event.t -> 'v option
val get_edge :
('v, 'e) CCGraph.Traverse.Event.t -> ('v * 'e * 'v) option
val get_edge_kind :
('v, 'e) CCGraph.Traverse.Event.t ->
('v * 'e * 'v * CCGraph.Traverse.Event.edge_kind) option
val dfs :
?tbl:'v CCGraph.set ->
?eq:('v -> 'v -> bool) ->
graph:('v, 'e) CCGraph.graph ->
'v CCGraph.sequence ->
('v, 'e) CCGraph.Traverse.Event.t CCGraph.sequence_once
val dfs_tag :
?eq:('v -> 'v -> bool) ->
tags:'v CCGraph.tag_set ->
graph:('v, 'e) CCGraph.graph ->
'v CCGraph.sequence ->
('v, 'e) CCGraph.Traverse.Event.t CCGraph.sequence_once
end
end