sig
type 'a sequence = ('a -> unit) -> unit
type 'a gen = unit -> 'a option
type 'a klist = unit -> [ `Cons of 'a * 'a CCKTree.klist | `Nil ]
type 'a printer = Buffer.t -> 'a -> unit
type 'a formatter = Format.formatter -> 'a -> unit
type 'a t = unit -> [ `Nil | `Node of 'a * 'a CCKTree.t list ]
val empty : 'a CCKTree.t
val is_empty : 'a CCKTree.t -> bool
val singleton : 'a -> 'a CCKTree.t
val node : 'a -> 'a CCKTree.t list -> 'a CCKTree.t
val node1 : 'a -> 'a CCKTree.t -> 'a CCKTree.t
val node2 : 'a -> 'a CCKTree.t -> 'a CCKTree.t -> 'a CCKTree.t
val fold : ('a -> 'b -> 'a) -> 'a -> 'b CCKTree.t -> 'a
val iter : ('a -> unit) -> 'a CCKTree.t -> unit
val size : 'a CCKTree.t -> int
val height : 'a CCKTree.t -> int
val map : ('a -> 'b) -> 'a CCKTree.t -> 'b CCKTree.t
val ( >|= ) : 'a CCKTree.t -> ('a -> 'b) -> 'b CCKTree.t
val cut_depth : int -> 'a CCKTree.t -> 'a CCKTree.t
class type ['a] pset =
object method add : 'a -> 'a CCKTree.pset method mem : 'a -> bool end
val set_of_cmp : ?cmp:('a -> 'a -> int) -> unit -> 'a CCKTree.pset
val dfs :
?pset:'a CCKTree.pset ->
'a CCKTree.t -> [ `Enter of 'a | `Exit of 'a ] CCKTree.klist
val bfs : ?pset:'a CCKTree.pset -> 'a CCKTree.t -> 'a CCKTree.klist
val force : 'a CCKTree.t -> ([ `Nil | `Node of 'a * 'b list ] as 'b)
val find :
?pset:'a CCKTree.pset -> ('a -> 'b option) -> 'a CCKTree.t -> 'b option
val print : 'a CCKTree.formatter -> 'a CCKTree.t CCKTree.formatter
module Dot :
sig
type attribute =
[ `Color of string
| `Id of string
| `Label of string
| `Other of string * string
| `Shape of string
| `Style of string
| `Weight of int ]
type graph = string * CCKTree.Dot.attribute list CCKTree.t list
val mk_id :
('a, Buffer.t, unit, CCKTree.Dot.attribute) Pervasives.format4 -> 'a
val mk_label :
('a, Buffer.t, unit, CCKTree.Dot.attribute) Pervasives.format4 -> 'a
val make :
name:string ->
CCKTree.Dot.attribute list CCKTree.t list -> CCKTree.Dot.graph
val singleton :
name:string ->
CCKTree.Dot.attribute list CCKTree.t -> CCKTree.Dot.graph
val pp : CCKTree.Dot.graph CCKTree.printer
val pp_single :
string -> CCKTree.Dot.attribute list CCKTree.t CCKTree.printer
val print : CCKTree.Dot.graph CCKTree.formatter
val print_to_file : string -> CCKTree.Dot.graph -> unit
val to_file :
?name:string ->
string -> CCKTree.Dot.attribute list CCKTree.t list -> unit
end
end