sig
type 'a t
type 'b injection
val create : int -> 'a CCMixtbl.t
val create_inj : unit -> 'b CCMixtbl.injection
val get : inj:'b CCMixtbl.injection -> 'a CCMixtbl.t -> 'a -> 'b option
val set : inj:'b CCMixtbl.injection -> 'a CCMixtbl.t -> 'a -> 'b -> unit
val find : inj:'b CCMixtbl.injection -> 'a CCMixtbl.t -> 'a -> 'b
val length : 'a CCMixtbl.t -> int
val clear : 'a CCMixtbl.t -> unit
val remove : 'a CCMixtbl.t -> 'a -> unit
val copy : 'a CCMixtbl.t -> 'a CCMixtbl.t
val mem : inj:'b CCMixtbl.injection -> 'a CCMixtbl.t -> 'a -> bool
val iter_keys : 'a CCMixtbl.t -> ('a -> unit) -> unit
val fold_keys : 'a CCMixtbl.t -> 'b -> ('b -> 'a -> 'b) -> 'b
type 'a sequence = ('a -> unit) -> unit
val keys_seq : 'a CCMixtbl.t -> 'a CCMixtbl.sequence
val bindings_of :
inj:'b CCMixtbl.injection -> 'a CCMixtbl.t -> ('a * 'b) CCMixtbl.sequence
type value = Value : ('b CCMixtbl.injection -> 'b option) -> CCMixtbl.value
val bindings : 'a CCMixtbl.t -> ('a * CCMixtbl.value) CCMixtbl.sequence
end