Up
module
OpamParallel
:
sig
#
module type
G =
sig
include
Graph.Sig.I
include
Graph.Topological.G
with
type
t :=
t
and
module
V :=
V
#
val
has_cycle :
t
->
bool
#
val
scc_list :
t
->
V
.t list list
#
val
string_of_vertex :
V
.t
->
string
end
#
type
error =
#
| Process_error
of
OpamProcess
.
result
#
| Internal_error
of
string
#
| Package_error
of
string
#
module type
SIG =
sig
#
module
G :
G
#
val
iter : int
->
G
.t
->
pre:(
G
.V.t
->
unit)
->
child:(
G
.V.t
->
unit)
->
post:(
G
.V.t
->
unit)
->
unit
#
val
iter_l : int
->
G
.vertex list
->
pre:(
G
.V.t
->
unit)
->
child:(
G
.V.t
->
unit)
->
post:(
G
.V.t
->
unit)
->
unit
#
val
map_reduce : int
->
G
.t
->
map:(
G
.V.t
->
'a)
->
merge:('a
->
'a
->
'a)
->
init:'a
->
'a
#
val
map_reduce_l : int
->
G
.vertex list
->
map:(
G
.V.t
->
'a)
->
merge:('a
->
'a
->
'a)
->
init:'a
->
'a
#
val
create :
G
.V.t list
->
G
.t
#
exception
Errors
of
(
G
.V.t *
error
) list *
G
.V.t list
#
exception
Cyclic
of
G
.V.t list list
end
#
module
Make :
functor
(G :
G
)
->
SIG
with
module
G
=
G
and
type
G
.V.t =
G
.V.t
#
module type
VERTEX =
sig
include
Graph.Sig.COMPARABLE
#
val
to_string :
t
->
string
end
#
module type
GRAPH =
sig
include
Graph.Sig.I
include
Graph.Oper.S
with
type
g =
t
#
module
Topological :
sig
#
val
fold : (
V
.t
->
'a
->
'a)
->
t
->
'a
->
'a
#
val
iter : (
V
.t
->
unit)
->
t
->
unit
end
#
module
Parallel :
SIG
with
type
G
.t =
t
and
type
G
.V.t =
vertex
#
module
Dot :
sig
#
val
output_graph :
Pervasives
.
out_channel
->
t
->
unit
end
end
#
module
MakeGraph :
functor
(V :
VERTEX
)
->
GRAPH
with
type
V.t =
V
.t
end