Module BatAvlTree

module BatAvlTree: sig .. end
Internals of ISet and IMap, usable as generic tree library

type +'a tree 
val empty : 'a tree
val is_empty : 'a tree -> bool
val make_tree : 'a tree -> 'a -> 'a tree -> 'a tree
val create : 'a tree -> 'a -> 'a tree -> 'a tree
create l v r is similar to make_tree l v r but performs no rebalancing; in other words, you should use this only when you know that l and r are already balanced.
val height : 'a tree -> int
val left_branch : 'a tree -> 'a tree
Raises Not_found if the tree is empty
val right_branch : 'a tree -> 'a tree
Raises Not_found if the tree is empty
val root : 'a tree -> 'a
Raises Not_found if the tree is empty
val singleton_tree : 'a -> 'a tree
val split_leftmost : 'a tree -> 'a * 'a tree
val split_rightmost : 'a tree -> 'a * 'a tree
val concat : 'a tree -> 'a tree -> 'a tree
val iter : ('a -> unit) -> 'a tree -> unit
val fold : ('a -> 'b -> 'b) -> 'a tree -> 'b -> 'b
val enum : 'a tree -> 'a BatEnum.t