Module type CCMixmap.S

module type S = sig .. end

type key 
type t 
A map containing values of different types, indexed by CCMixmap.S.key.
val empty : t
Empty map
val get : inj:'a CCMixmap.injection -> key -> t -> 'a option
Get the value corresponding to this key, if it exists and belongs to the same key
val add : inj:'a CCMixmap.injection ->
key -> 'a -> t -> t
Bind the key to the value, using inj
val find : inj:'a CCMixmap.injection -> key -> t -> 'a
Find the value for the given key, which must be of the right type.
Raises Not_found if either the key is not found, or if its value doesn't belong to the right type
val cardinal : t -> int
Number of bindings
val remove : key -> t -> t
Remove the binding for this key
val mem : inj:'a CCMixmap.injection -> key -> t -> bool
Is the given key in the map, with the right type?
val iter_keys : f:(key -> unit) -> t -> unit
Iterate on the keys of this map
val fold_keys : f:('a -> key -> 'a) -> x:'a -> t -> 'a
Fold over the keys


type 'a sequence = ('a -> unit) -> unit 
val keys_seq : t -> key sequence
All the keys
val bindings_of : inj:'a CCMixmap.injection ->
t -> (key * 'a) sequence
All the bindings that come from the corresponding injection
type value = 
| Value : ('a CCMixmap.injection -> 'a option) -> value
val bindings : t -> (key * value) sequence
Iterate on all bindings