.TH "Strongly_connected_components.S" 3 2021-03-03 OCamldoc "OCaml library"
.SH NAME
Strongly_connected_components.S \- no description
.SH Module type
Module type   Strongly_connected_components.S
.SH Documentation
.sp
Module type
.BI "S"
 = 
.B sig end

.sp

.sp

.sp
.sp
.I module Id : 
.B Identifiable.S

.sp

.sp
.I type directed_graph 
= 
.B Id.Set.t Id.Map.t

.sp
If (a \-> set) belongs to the map, it means that there are edges
from 
.ft B
a
.ft R
to every element of 
.ft B
set
.ft R
\&.  It is assumed that no edge
points to a vertex not represented in the map\&.

.sp
.I type component 
=
 | Has_loop
.B of 
.B Id.t list
 | No_loop
.B of 
.B Id.t
 
.sp

.sp

.I val connected_components_sorted_from_roots_to_leaf 
: 
.B directed_graph ->
.B   component array
.sp

.sp

.I val component_graph 
: 
.B directed_graph ->
.B   (component * int list) array
.sp

.sp
