sig
type 'a sequence = ('a -> unit) -> unit
type 'a gen = unit -> 'a option
module Key :
sig
type 'a t
val create : unit -> 'a CCHet.Key.t
val equal : 'a CCHet.Key.t -> 'a CCHet.Key.t -> bool
end
type pair = Pair : 'a CCHet.Key.t * 'a -> CCHet.pair
module Tbl :
sig
type t
val create : ?size:int -> unit -> CCHet.Tbl.t
val mem : CCHet.Tbl.t -> 'a CCHet.Key.t -> bool
val add : CCHet.Tbl.t -> 'a CCHet.Key.t -> 'a -> unit
val length : CCHet.Tbl.t -> int
val find : CCHet.Tbl.t -> 'a CCHet.Key.t -> 'a option
val find_exn : CCHet.Tbl.t -> 'a CCHet.Key.t -> 'a
val iter : (CCHet.pair -> unit) -> CCHet.Tbl.t -> unit
val to_seq : CCHet.Tbl.t -> CCHet.pair CCHet.sequence
val of_seq : CCHet.pair CCHet.sequence -> CCHet.Tbl.t
val add_seq : CCHet.Tbl.t -> CCHet.pair CCHet.sequence -> unit
val add_list : CCHet.Tbl.t -> CCHet.pair list -> unit
val of_list : CCHet.pair list -> CCHet.Tbl.t
val to_list : CCHet.Tbl.t -> CCHet.pair list
end
module Map :
sig
type t
val empty : CCHet.Map.t
val mem : 'a CCHet.Key.t -> CCHet.Map.t -> bool
val add : 'a CCHet.Key.t -> 'a -> CCHet.Map.t -> CCHet.Map.t
val length : CCHet.Map.t -> int
val cardinal : CCHet.Map.t -> int
val find : 'a CCHet.Key.t -> CCHet.Map.t -> 'a option
val find_exn : 'a CCHet.Key.t -> CCHet.Map.t -> 'a
val iter : (CCHet.pair -> unit) -> CCHet.Map.t -> unit
val to_seq : CCHet.Map.t -> CCHet.pair CCHet.sequence
val of_seq : CCHet.pair CCHet.sequence -> CCHet.Map.t
val add_seq : CCHet.Map.t -> CCHet.pair CCHet.sequence -> CCHet.Map.t
val add_list : CCHet.Map.t -> CCHet.pair list -> CCHet.Map.t
val of_list : CCHet.pair list -> CCHet.Map.t
val to_list : CCHet.Map.t -> CCHet.pair list
end
end