module Make: functor (
Key
:
Key
) ->
S
with type key = Key.t
type 'a
t
type
key
val empty : 'a t
val is_empty : 'a t -> bool
val concat : 'a t -> 'a t -> 'a t
val sandwich : 'a t ->
key -> 'a -> 'a t -> 'a t
val splay : 'a t ->
key -> 'a t * 'a option * 'a t
val splay' : 'a t ->
key ->
'a t * (key * 'a) option * 'a t
val delete_min : 'a t -> (key * 'a * 'a t) option
val delete_max : 'a t -> (key * 'a * 'a t) option
val mem : 'a t -> key -> 'a t * bool
val find : 'a t -> key -> 'a t * 'a option
val set : 'a t -> key -> 'a -> 'a t
val delete : 'a t -> key -> 'a t