Module Register.Service

module Service: Service_graph.Make(sig
val datatype_name : string
type t = Register.SGraph.t 
module V: sig .. end
val iter_vertex : (Register.SGraph.vertex -> unit) -> Register.SGraph.t -> unit
val iter_succ : (Register.SGraph.vertex -> unit) ->
Register.SGraph.t -> Register.SGraph.vertex -> unit
val iter_pred : (Register.SGraph.vertex -> unit) ->
Register.SGraph.t -> Register.SGraph.vertex -> unit
val fold_pred : (Register.SGraph.vertex -> 'a -> 'a) ->
Register.SGraph.t -> Register.SGraph.vertex -> 'a -> 'a
end)

type vertex = private {
   node : G.V.t;
   mutable is_root : bool;
   mutable root : vertex;
}
type edge = private 
| Inter_services
| Inter_functions
| Both
module CallG: sig .. end
val compute : G.t -> Datatype.String.Set.t -> CallG.t
val output_graph : Pervasives.out_channel -> CallG.t -> unit
val entry_point : unit -> CallG.V.t option
compute must be called before
Since Carbon-20101201
Change in Nitrogen-20111001: return an option type
module TP: Graph.Graphviz.GraphWithDotAttrs 
    with type t = CallG.t
    and type V.t = vertex
    and type E.t = CallG.E.t