Module CCIntMap
Map specialized for Int keys
status: stable
- since
- 0.10
val singleton : int -> 'a -> 'a t
val doubleton : int -> 'a -> int -> 'a -> 'a t
val mem : int -> _ t -> bool
val find : int -> 'a t -> 'a option
val find_exn : int -> 'a t -> 'a
Same as
find
but unsafe.- raises Not_found
if key is not present.
val add : int -> 'a -> 'a t -> 'a t
val remove : int -> 'a t -> 'a t
val equal : eq:('a -> 'a -> bool) -> 'a t -> 'a t -> bool
equal ~eq a b
checks whethera
andb
have the same set of pairs (key, value), comparing values witheq
.- since
- 0.13
val compare : cmp:('a -> 'a -> int) -> 'a t -> 'a t -> int
Total order between maps; the precise order is unspecified.
- since
- 0.13
val update : int -> ('a option -> 'a option) -> 'a t -> 'a t
val filter : (int -> 'a -> bool) -> 'a t -> 'a t
Filter values using the given predicate
- since
- 2.3
val filter_map : (int -> 'a -> 'b option) -> 'a t -> 'b t
Filter-map values using the given function
- since
- 2.3
val cardinal : _ t -> int
Number of bindings in the map. Linear time.
val iter : (int -> 'a -> unit) -> 'a t -> unit
val fold : (int -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val mapi : (int -> 'a -> 'b) -> 'a t -> 'b t
- since
- 0.17
val choose : 'a t -> (int * 'a) option
val choose_exn : 'a t -> int * 'a
- raises Not_found
if not pair was found.
val union : (int -> 'a -> 'a -> 'a) -> 'a t -> 'a t -> 'a t
val inter : (int -> 'a -> 'a -> 'a) -> 'a t -> 'a t -> 'a t
val merge : f:(int -> [ `Left of 'a | `Right of 'b | `Both of 'a * 'b ] -> 'c option) -> 'a t -> 'b t -> 'c t
merge ~f m1 m2
mergesm1
andm2
together, callingf
once on every key that occurs in at least one ofm1
andm2
. iff k binding = Some c
thenk -> c
is part of the result, elsek
is not part of the result.- since
- 2.3
Whole-collection operations
type 'a sequence
= ('a -> unit) -> unit
type 'a gen
= unit -> 'a option
type 'a klist
= unit -> [ `Nil | `Cons of 'a * 'a klist ]
val add_list : 'a t -> (int * 'a) list -> 'a t
val of_list : (int * 'a) list -> 'a t
val to_list : 'a t -> (int * 'a) list
val add_seq : 'a t -> (int * 'a) sequence -> 'a t
val of_seq : (int * 'a) sequence -> 'a t
val to_seq : 'a t -> (int * 'a) sequence
val keys : _ t -> int sequence
val values : 'a t -> 'a sequence
val add_gen : 'a t -> (int * 'a) gen -> 'a t
- since
- 0.13
type 'a tree
= unit -> [ `Nil | `Node of 'a * 'a tree list ]