Functor Service_graph.Make


module Make: 
functor (G : sig
type t 
module V: sig .. end
val iter_vertex : (V.t -> unit) -> t -> unit
val iter_succ : (V.t -> unit) ->
t -> V.t -> unit
val iter_pred : (V.t -> unit) ->
t -> V.t -> unit
val fold_pred : (V.t -> 'a -> 'a) ->
t -> V.t -> 'a -> 'a
val in_degree : t -> V.t -> int
val datatype_name : string
end) -> sig .. end
Parameters:
G : sig type t module V: sig include Graph.Sig.HASHABLE val id: t -> int (** assume is >= 0 and unique for each vertices of the graph *) val name: t -> string val attributes: t -> Graph.Graphviz.DotAttributes.vertex list end val iter_vertex : (V.t -> unit) -> t -> unit val iter_succ : (V.t -> unit) -> t -> V.t -> unit val iter_pred : (V.t -> unit) -> t -> V.t -> unit val fold_pred : (V.t -> 'a -> 'a) -> t -> V.t -> 'a -> 'a val in_degree: t -> V.t -> int val datatype_name: string 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 -> Cilutil.StringSet.t -> CallG.t
val output_graph : Pervasives.out_channel -> CallG.t -> unit
module TP: Graph.Graphviz.GraphWithDotAttrs 
    with type t = CallG.t
    and type V.t = vertex
    and type E.t = CallG.E.t