`sig
type color = int
type color_with_transparency = int32
val color_to_color_with_transparency :
Graphviz.color -> Graphviz.color_with_transparency
type arrow_style =
[ `Dot | `Inv | `Invdot | `Invodot | `None | `Normal | `Odot ]
module type ATTRIBUTES =
sig
type graph
type vertex
type edge
type subgraph = {
sg_name : string;
sg_attributes : Graphviz.ATTRIBUTES.vertex list;
}
end
module CommonAttributes :
sig
type graph =
[ `Center of bool
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Label of string
| `OrderingOut
| `Orientation of [ `Landscape | `Portrait ]
| `Page of float * float
| `Pagedir of [ `LeftToRight | `TopToBottom ]
| `Size of float * float ]
type vertex =
[ `Color of Graphviz.color
| `ColorWithTransparency of Graphviz.color_with_transparency
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Height of float
| `Label of string
| `Orientation of float
| `Peripheries of int
| `Regular of bool
| `Shape of
[ `Box
| `Circle
| `Diamond
| `Doublecircle
| `Ellipse
| `Plaintext
| `Polygon of int * float
| `Record ]
| `Style of
[ `Bold | `Dashed | `Dotted | `Filled | `Invis | `Solid ]
| `Width of float ]
type edge =
[ `Color of Graphviz.color
| `ColorWithTransparency of Graphviz.color_with_transparency
| `Decorate of bool
| `Dir of [ `Back | `Both | `Forward | `None ]
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Label of string
| `Labelfontcolor of Graphviz.color
| `Labelfontname of string
| `Labelfontsize of int
| `Style of [ `Bold | `Dashed | `Dotted | `Invis | `Solid ] ]
end
module DotAttributes :
sig
type graph =
[ `Bgcolor of Graphviz.color
| `BgcolorWithTransparency of Graphviz.color_with_transparency
| `Center of bool
| `Comment of string
| `Concentrate of bool
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontpath of string
| `Fontsize of int
| `Label of string
| `Layers of string list
| `Margin of float
| `Mclimit of float
| `Nodesep of float
| `Nslimit of int
| `Nslimit1 of int
| `OrderingOut
| `Orientation of [ `Landscape | `Portrait ]
| `Page of float * float
| `Pagedir of [ `LeftToRight | `TopToBottom ]
| `Quantum of float
| `Rankdir of [ `LeftToRight | `TopToBottom ]
| `Ranksep of float
| `Ratio of [ `Auto | `Compress | `Fill | `Float of float ]
| `Samplepoints of int
| `Size of float * float
| `Url of string ]
type vertex =
[ `Color of Graphviz.color
| `ColorWithTransparency of Graphviz.color_with_transparency
| `Comment of string
| `Distortion of float
| `Fillcolor of Graphviz.color
| `FillcolorWithTransparency of Graphviz.color_with_transparency
| `Fixedsize of bool
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Height of float
| `Label of string
| `Layer of string
| `Orientation of float
| `Peripheries of int
| `Regular of bool
| `Shape of
[ `Box
| `Circle
| `Diamond
| `Doublecircle
| `Ellipse
| `Plaintext
| `Polygon of int * float
| `Record ]
| `Style of
[ `Bold | `Dashed | `Dotted | `Filled | `Invis | `Solid ]
| `Url of string
| `Width of float
| `Z of float ]
type edge =
[ `Arrowhead of Graphviz.arrow_style
| `Arrowsize of float
| `Arrowtail of Graphviz.arrow_style
| `Color of Graphviz.color
| `ColorWithTransparency of Graphviz.color_with_transparency
| `Comment of string
| `Constraint of bool
| `Decorate of bool
| `Dir of [ `Back | `Both | `Forward | `None ]
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Headlabel of string
| `Headport of [ `E | `N | `NE | `NW | `S | `SE | `SW | `W ]
| `Headurl of string
| `Label of string
| `Labelangle of float
| `Labeldistance of float
| `Labelfloat of bool
| `Labelfontcolor of Graphviz.color
| `Labelfontname of string
| `Labelfontsize of int
| `Layer of string
| `Minlen of int
| `Samehead of string
| `Sametail of string
| `Style of [ `Bold | `Dashed | `Dotted | `Invis | `Solid ]
| `Taillabel of string
| `Tailport of [ `E | `N | `NE | `NW | `S | `SE | `SW | `W ]
| `Tailurl of string
| `Weight of int ]
type subgraph = {
sg_name : string;
sg_attributes : Graphviz.DotAttributes.vertex list;
}
end
module type GraphWithDotAttrs =
sig
type t
module V : Sig.VERTEX
type vertex = V.t
module E :
sig
type t
val compare : t -> t -> int
type vertex = vertex
val src : t -> vertex
val dst : t -> vertex
type label
val create : vertex -> label -> vertex -> t
val label : t -> label
end
type edge = E.t
val is_directed : bool
val is_empty : t -> bool
val nb_vertex : t -> int
val nb_edges : t -> int
val out_degree : t -> vertex -> int
val in_degree : t -> vertex -> int
val mem_vertex : t -> vertex -> bool
val mem_edge : t -> vertex -> vertex -> bool
val mem_edge_e : t -> edge -> bool
val find_edge : t -> vertex -> vertex -> edge
val find_all_edges : t -> vertex -> vertex -> edge list
val succ : t -> vertex -> vertex list
val pred : t -> vertex -> vertex list
val succ_e : t -> vertex -> edge list
val pred_e : t -> vertex -> edge list
val iter_vertex : (vertex -> unit) -> t -> unit
val fold_vertex : (vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges : (vertex -> vertex -> unit) -> t -> unit
val fold_edges : (vertex -> vertex -> 'a -> 'a) -> t -> 'a -> 'a
val iter_edges_e : (edge -> unit) -> t -> unit
val fold_edges_e : (edge -> 'a -> 'a) -> t -> 'a -> 'a
val map_vertex : (vertex -> vertex) -> t -> t
val iter_succ : (vertex -> unit) -> t -> vertex -> unit
val iter_pred : (vertex -> unit) -> t -> vertex -> unit
val fold_succ : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val fold_pred : (vertex -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_succ_e : (edge -> unit) -> t -> vertex -> unit
val fold_succ_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val iter_pred_e : (edge -> unit) -> t -> vertex -> unit
val fold_pred_e : (edge -> 'a -> 'a) -> t -> vertex -> 'a -> 'a
val graph_attributes : t -> Graphviz.DotAttributes.graph list
val default_vertex_attributes : t -> Graphviz.DotAttributes.vertex list
val vertex_name : V.t -> string
val vertex_attributes : V.t -> Graphviz.DotAttributes.vertex list
val default_edge_attributes : t -> Graphviz.DotAttributes.edge list
val edge_attributes : E.t -> Graphviz.DotAttributes.edge list
val get_subgraph : V.t -> Graphviz.DotAttributes.subgraph option
end
module Dot :
functor
(X : sig
type t
module V : sig type t end
module E :
sig
type t
val src : Graphviz.Dot.E.t -> Graphviz.Dot.V.t
val dst : Graphviz.Dot.E.t -> Graphviz.Dot.V.t
end
val iter_vertex :
(Graphviz.Dot.V.t -> unit) -> Graphviz.Dot.t -> unit
val iter_edges_e :
(Graphviz.Dot.E.t -> unit) -> Graphviz.Dot.t -> unit
val graph_attributes :
Graphviz.Dot.t -> Graphviz.DotAttributes.graph list
val default_vertex_attributes :
Graphviz.Dot.t -> Graphviz.DotAttributes.vertex list
val vertex_name : Graphviz.Dot.V.t -> string
val vertex_attributes :
Graphviz.Dot.V.t -> Graphviz.DotAttributes.vertex list
val get_subgraph :
Graphviz.Dot.V.t -> Graphviz.DotAttributes.subgraph option
val default_edge_attributes :
Graphviz.Dot.t -> Graphviz.DotAttributes.edge list
val edge_attributes :
Graphviz.Dot.E.t -> Graphviz.DotAttributes.edge list
end) ->
sig
val fprint_graph : Format.formatter -> X.t -> unit
val output_graph : Pervasives.out_channel -> X.t -> unit
end
module NeatoAttributes :
sig
type graph =
[ `Center of bool
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Label of string
| `Margin of float * float
| `OrderingOut
| `Orientation of [ `Landscape | `Portrait ]
| `Overlap of bool
| `Page of float * float
| `Pagedir of [ `LeftToRight | `TopToBottom ]
| `Sep of float
| `Size of float * float
| `Spline of bool
| `Start of int ]
type vertex =
[ `Color of Graphviz.color
| `ColorWithTransparency of Graphviz.color_with_transparency
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Height of float
| `Label of string
| `Orientation of float
| `Peripheries of int
| `Pos of float * float
| `Regular of bool
| `Shape of
[ `Box
| `Circle
| `Diamond
| `Doublecircle
| `Ellipse
| `Plaintext
| `Polygon of int * float
| `Record ]
| `Style of
[ `Bold | `Dashed | `Dotted | `Filled | `Invis | `Solid ]
| `Width of float ]
type edge =
[ `Color of Graphviz.color
| `ColorWithTransparency of Graphviz.color_with_transparency
| `Decorate of bool
| `Dir of [ `Back | `Both | `Forward | `None ]
| `Fontcolor of Graphviz.color
| `Fontname of string
| `Fontsize of int
| `Id of string
| `Label of string
| `Labelfontcolor of Graphviz.color
| `Labelfontname of string
| `Labelfontsize of int
| `Len of float
| `Style of [ `Bold | `Dashed | `Dotted | `Invis | `Solid ]
| `Weight of float ]
type subgraph = {
sg_name : string;
sg_attributes : Graphviz.NeatoAttributes.vertex list;
}
end
module Neato :
functor
(X : sig
type t
module V : sig type t end
module E :
sig
type t
val src : Graphviz.Neato.E.t -> Graphviz.Neato.V.t
val dst : Graphviz.Neato.E.t -> Graphviz.Neato.V.t
end
val iter_vertex :
(Graphviz.Neato.V.t -> unit) -> Graphviz.Neato.t -> unit
val iter_edges_e :
(Graphviz.Neato.E.t -> unit) -> Graphviz.Neato.t -> unit
val graph_attributes :
Graphviz.Neato.t -> Graphviz.NeatoAttributes.graph list
val default_vertex_attributes :
Graphviz.Neato.t -> Graphviz.NeatoAttributes.vertex list
val vertex_name : Graphviz.Neato.V.t -> string
val vertex_attributes :
Graphviz.Neato.V.t -> Graphviz.NeatoAttributes.vertex list
val get_subgraph :
Graphviz.Neato.V.t -> Graphviz.NeatoAttributes.subgraph option
val default_edge_attributes :
Graphviz.Neato.t -> Graphviz.NeatoAttributes.edge list
val edge_attributes :
Graphviz.Neato.E.t -> Graphviz.NeatoAttributes.edge list
end) ->
sig
val set_command : string -> unit
exception Error of string
val handle_error : ('a -> 'b) -> 'a -> 'b
val fprint_graph : Format.formatter -> X.t -> unit
val output_graph : Pervasives.out_channel -> X.t -> unit
end
end`