Module Red_black_tree

module Red_black_tree: sig .. end

module RedBlackTree: 
functor (Ord : Ord.S) -> Binary_search_tree.Make(Ord)(sig
type color = 
| Red
| Black
type t = 
| Empty
| Node of {
   mutable color : color;
   value : Ord.t;
   mutable parent : t;
   mutable left : t;
   mutable right : t;
}
val empty_tree : t
val left : t -> t
val right : t -> t
val value : t -> Ord.t
val get_parent : t -> t
val get_grand_parent : t -> t
val get_uncle : t -> t
val rotate_left : t -> unit
val rotate_right : t -> unit
val rebalance : t -> t
val root_of_node : t -> t
val insert : t -> Ord.t -> t
end)