mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
feat: add remove function to het map/tbl
This commit is contained in:
parent
3236d3c8b9
commit
c893716c1a
2 changed files with 12 additions and 0 deletions
|
|
@ -109,6 +109,10 @@ module Tbl = struct
|
||||||
|
|
||||||
let add t k v = add_pair_ t (Pair (k,v))
|
let add t k v = add_pair_ t (Pair (k,v))
|
||||||
|
|
||||||
|
let remove (type a) t (k:a Key.t) =
|
||||||
|
let module K = (val k) in
|
||||||
|
M.remove t K.id
|
||||||
|
|
||||||
let length t = M.length t
|
let length t = M.length t
|
||||||
|
|
||||||
let iter f t = M.iter (fun _ pair -> f (pair_of_e_pair pair)) t
|
let iter f t = M.iter (fun _ pair -> f (pair_of_e_pair pair)) t
|
||||||
|
|
@ -167,6 +171,10 @@ module Map = struct
|
||||||
let add (type a) (k : a Key.t) v t =
|
let add (type a) (k : a Key.t) v t =
|
||||||
let module K = (val k) in
|
let module K = (val k) in
|
||||||
add_e_pair_ (E_pair (k, K.Store v)) t
|
add_e_pair_ (E_pair (k, K.Store v)) t
|
||||||
|
|
||||||
|
let remove (type a) (k: a Key.t) t =
|
||||||
|
let module K = (val k) in
|
||||||
|
M.remove K.id t
|
||||||
|
|
||||||
let cardinal t = M.cardinal t
|
let cardinal t = M.cardinal t
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@ module Tbl : sig
|
||||||
|
|
||||||
val add : t -> 'a Key.t -> 'a -> unit
|
val add : t -> 'a Key.t -> 'a -> unit
|
||||||
|
|
||||||
|
val remove : t -> _ Key.t -> unit
|
||||||
|
|
||||||
val length : t -> int
|
val length : t -> int
|
||||||
|
|
||||||
val find : t -> 'a Key.t -> 'a option
|
val find : t -> 'a Key.t -> 'a option
|
||||||
|
|
@ -65,6 +67,8 @@ module Map : sig
|
||||||
|
|
||||||
val add : 'a Key.t -> 'a -> t -> t
|
val add : 'a Key.t -> 'a -> t -> t
|
||||||
|
|
||||||
|
val remove : _ Key.t -> t -> t
|
||||||
|
|
||||||
val length : t -> int
|
val length : t -> int
|
||||||
|
|
||||||
val cardinal : t -> int
|
val cardinal : t -> int
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue