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 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 iter f t = M.iter (fun _ pair -> f (pair_of_e_pair pair)) t
|
||||
|
|
@ -168,6 +172,10 @@ module Map = struct
|
|||
let module K = (val k) in
|
||||
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 length = cardinal
|
||||
|
|
|
|||
|
|
@ -33,6 +33,8 @@ module Tbl : sig
|
|||
|
||||
val add : t -> 'a Key.t -> 'a -> unit
|
||||
|
||||
val remove : t -> _ Key.t -> unit
|
||||
|
||||
val length : t -> int
|
||||
|
||||
val find : t -> 'a Key.t -> 'a option
|
||||
|
|
@ -65,6 +67,8 @@ module Map : sig
|
|||
|
||||
val add : 'a Key.t -> 'a -> t -> t
|
||||
|
||||
val remove : _ Key.t -> t -> t
|
||||
|
||||
val length : t -> int
|
||||
|
||||
val cardinal : t -> int
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue