module LTree: sig
.. end
type 'a
tree = {
|
content : 'a ; |
|
children : 'a tree list ; |
}
exception Empty_tree
val node : 'a -> 'a tree list -> 'a tree
val get_content : 'a tree -> 'a
val get_children : 'a tree -> 'a tree list
val iter : ('a -> 'a tree list -> 'b) -> 'a tree -> unit
val iteri : ('a -> 'a tree list -> int -> 'b) ->
'a tree -> unit
the function argument receives depth information
val find : ('a -> 'a tree list -> bool) ->
'a tree -> 'a tree
val get_parent : 'a tree -> 'a tree -> 'a tree
val get_depth : 'a tree -> 'a tree -> int
val map : ('a -> 'a tree list -> 'b * 'a tree list) ->
'a tree -> 'b tree
val filter : ('a -> 'a tree list -> bool) ->
'a tree -> 'a tree
val insert : ('a -> 'a tree list -> bool) ->
'a tree -> 'a tree -> 'a tree
val insert_at : 'a tree ->
'a tree -> 'a tree -> 'a tree
val move : 'a tree ->
'a tree -> 'a tree -> 'a tree
val to_list : 'a tree -> 'a list
val is_in_lineage : 'a tree -> 'a tree -> bool
val sort : ?comp:('a tree -> 'a tree -> int) ->
'a tree -> 'a tree
val fold : ('a -> 'b -> 'a) -> 'a -> 'b tree -> 'a