1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
(* SPDX-License-Identifier: AGPL-3.0-or-later *)
(* Copyright © 2021-2026 OCamlPro *)
(* Written by the Owi programmers *)
include Map.Make (Int)
let next_key map = cardinal map
let add_manual k v map = add k v map
let add v map =
let key = next_key map in
let map = add key v map in
(map, key)
let pp pp_v =
Fmt.braces
(Fmt.iter_bindings ~sep:Fmt.semi iter (fun ppf (k, v) ->
Fmt.pf ppf "%d -> %a" k pp_v v ) )