sig
type attr =
[ `ArrowBack
| `ArrowBoth
| `ArrowForward
| `ArrowHead of string
| `ArrowTail of string
| `Attr of string * string
| `Box
| `Circle
| `Color of string
| `Dotted
| `Fillcolor of string
| `Filled
| `LR
| `Label of string
| `Oval
| `Point
| `Shape of string
| `Style of string
| `TB ]
val pp_attr : Format.formatter -> Dotgraph.attr -> unit
type dot
val open_dot :
?name:string ->
?attr:Dotgraph.attr list -> ?file:string -> unit -> Dotgraph.dot
val close : Dotgraph.dot -> unit
val is_dot_installed : unit -> bool
val layout :
?force:bool ->
?target:string ->
?engine:string -> ?output:string -> Dotgraph.dot -> string
val printf :
Dotgraph.dot ->
('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val println :
Dotgraph.dot ->
('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val flush : Dotgraph.dot -> unit
type node
val node_default : Dotgraph.dot -> Dotgraph.attr list -> unit
val edge_default : Dotgraph.dot -> Dotgraph.attr list -> unit
val fresh : ?prefix:string -> Dotgraph.dot -> Dotgraph.node
val pp_node : Dotgraph.node Pretty_utils.formatter
val pp_edge : (Dotgraph.node * Dotgraph.node) Pretty_utils.formatter
val node : Dotgraph.dot -> Dotgraph.node -> Dotgraph.attr list -> unit
val edge :
Dotgraph.dot ->
Dotgraph.node -> Dotgraph.node -> Dotgraph.attr list -> unit
val link : Dotgraph.dot -> Dotgraph.node list -> Dotgraph.attr list -> unit
val inode :
Dotgraph.dot ->
?prefix:string ->
?id:Dotgraph.node -> Dotgraph.attr list -> Dotgraph.node
val rank : Dotgraph.dot -> Dotgraph.node list -> unit
val subgraph :
Dotgraph.dot ->
?cluster:bool -> Dotgraph.attr list -> (unit -> unit) -> unit
type record =
[ `Empty
| `Hbox of Dotgraph.record list
| `Label of string
| `Port of string * Dotgraph.link list * string
| `Vbox of Dotgraph.record list ]
and link = string * Dotgraph.attr list * Dotgraph.node
module Record :
sig
val ( <-> ) : Dotgraph.record -> Dotgraph.record -> Dotgraph.record
val ( <|> ) : Dotgraph.record -> Dotgraph.record -> Dotgraph.record
val link :
?anchor:string ->
?attr:Dotgraph.attr list -> Dotgraph.node -> Dotgraph.link
val label :
?port:string -> ?link:Dotgraph.link list -> string -> Dotgraph.record
end
val port : Dotgraph.node -> string -> Dotgraph.node
val record :
Dotgraph.dot ->
Dotgraph.node ->
?rounded:bool -> ?attr:Dotgraph.attr list -> Dotgraph.record -> unit
val irecord :
Dotgraph.dot ->
?prefix:string ->
?id:Dotgraph.node ->
?rounded:bool ->
?attr:Dotgraph.attr list -> Dotgraph.record -> Dotgraph.node
module type Map =
sig
type key
type 'a t
val empty : 'a Dotgraph.Map.t
val find : Dotgraph.Map.key -> 'a Dotgraph.Map.t -> 'a
val add :
Dotgraph.Map.key -> 'a -> 'a Dotgraph.Map.t -> 'a Dotgraph.Map.t
end
module Node :
functor (M : Map) ->
sig
type t = M.key
val get : Dotgraph.Node.t -> Dotgraph.node
val node :
Dotgraph.dot -> Dotgraph.Node.t -> Dotgraph.attr list -> unit
val inode :
Dotgraph.dot ->
Dotgraph.Node.t -> Dotgraph.attr list -> Dotgraph.node
val record :
Dotgraph.dot ->
Dotgraph.Node.t ->
?rounded:bool ->
?attr:Dotgraph.attr list -> Dotgraph.record -> unit
val irecord :
Dotgraph.dot ->
Dotgraph.Node.t ->
?rounded:bool ->
?attr:Dotgraph.attr list -> Dotgraph.record -> Dotgraph.node
val clear : unit -> unit
val once : (Dotgraph.Node.t -> Dotgraph.node -> unit) -> unit
val push :
Dotgraph.dot -> (Dotgraph.Node.t -> Dotgraph.node -> unit) -> unit
val prefix : string -> unit
end
val push : Dotgraph.dot -> (unit -> unit) -> unit
val pop_all : Dotgraph.dot -> unit
type buffer
val buffer : Dotgraph.attr list -> Dotgraph.buffer
val bprintf :
Dotgraph.buffer ->
('a, Format.formatter, unit, unit) Pervasives.format4 -> 'a
val add_char : Dotgraph.buffer -> char -> unit
val add_label : Dotgraph.buffer -> string -> unit
val add_attr : Dotgraph.buffer -> Dotgraph.attr list -> unit
val add_options :
Dotgraph.buffer -> (bool * Dotgraph.attr list) list -> unit
val attributes : Dotgraph.buffer -> Dotgraph.attr list
val decorate :
Dotgraph.attr list ->
(bool * Dotgraph.attr list) list -> Dotgraph.attr list
end