mirror of
https://github.com/ocaml-tracing/ocaml-trace.git
synced 2026-03-07 18:37:56 -05:00
trace: remove meta_map, not used anymore
This commit is contained in:
parent
12cdccb842
commit
44f87bdd6b
5 changed files with 0 additions and 102 deletions
|
|
@ -1,12 +1,6 @@
|
|||
(library
|
||||
(name trace_core)
|
||||
(public_name trace.core)
|
||||
(libraries
|
||||
(select
|
||||
meta_map.ml
|
||||
from
|
||||
(hmap -> meta_map.hmap.ml)
|
||||
(-> meta_map.ourown.ml)))
|
||||
(synopsis "Lightweight stub for tracing"))
|
||||
|
||||
(rule
|
||||
|
|
|
|||
|
|
@ -1,3 +0,0 @@
|
|||
include Hmap
|
||||
|
||||
let find_exn = get
|
||||
|
|
@ -1,91 +0,0 @@
|
|||
module type KEY_IMPL = sig
|
||||
type t
|
||||
|
||||
exception Store of t
|
||||
|
||||
val id : int
|
||||
end
|
||||
|
||||
module Key = struct
|
||||
type 'a t = (module KEY_IMPL with type t = 'a)
|
||||
|
||||
let _n = ref 0
|
||||
|
||||
let create (type k) () =
|
||||
incr _n;
|
||||
let id = !_n in
|
||||
let module K = struct
|
||||
type t = k
|
||||
|
||||
let id = id
|
||||
|
||||
exception Store of k
|
||||
end in
|
||||
(module K : KEY_IMPL with type t = k)
|
||||
|
||||
let[@inline] id (type k) (module K : KEY_IMPL with type t = k) = K.id
|
||||
|
||||
let equal : type a b. a t -> b t -> bool =
|
||||
fun (module K1) (module K2) -> K1.id = K2.id
|
||||
end
|
||||
|
||||
type 'a key = 'a Key.t
|
||||
type binding = B : 'a Key.t * 'a -> binding
|
||||
|
||||
open struct
|
||||
type exn_pair = E_pair : 'a Key.t * exn -> exn_pair
|
||||
|
||||
let pair_of_e_pair (E_pair (k, e)) =
|
||||
let module K = (val k) in
|
||||
match e with
|
||||
| K.Store v -> B (k, v)
|
||||
| _ -> assert false
|
||||
end
|
||||
|
||||
module M = Map.Make (struct
|
||||
type t = int
|
||||
|
||||
let compare (i : int) j = Stdlib.compare i j
|
||||
end)
|
||||
|
||||
type t = { m: exn_pair M.t } [@@unboxed]
|
||||
|
||||
let empty : t = { m = M.empty }
|
||||
let[@inline] mem k (self : t) = M.mem (Key.id k) self.m
|
||||
|
||||
let find_exn (type a) (k : a Key.t) (self : t) : a =
|
||||
let module K = (val k) in
|
||||
let (E_pair (_, e)) = M.find K.id self.m in
|
||||
match e with
|
||||
| K.Store v -> v
|
||||
| _ -> assert false
|
||||
|
||||
let find k (self : t) = try Some (find_exn k self) with Not_found -> None
|
||||
|
||||
open struct
|
||||
let add_e_pair_ p self =
|
||||
let (E_pair ((module K), _)) = p in
|
||||
{ m = M.add K.id p self.m }
|
||||
|
||||
let add_pair_ p (self : t) : t =
|
||||
let (B (((module K) as k), v)) = p in
|
||||
let p = E_pair (k, K.Store v) in
|
||||
{ m = M.add K.id p self.m }
|
||||
end
|
||||
|
||||
let add (type a) (k : a Key.t) v (self : t) : t =
|
||||
let module K = (val k) in
|
||||
add_e_pair_ (E_pair (k, K.Store v)) self
|
||||
|
||||
let remove (type a) (k : a Key.t) (self : t) : t =
|
||||
let module K = (val k) in
|
||||
{ m = M.remove K.id self.m }
|
||||
|
||||
let[@inline] cardinal (self : t) = M.cardinal self.m
|
||||
let length = cardinal
|
||||
let iter f (self : t) = M.iter (fun _ p -> f (pair_of_e_pair p)) self.m
|
||||
|
||||
let to_list (self : t) : binding list =
|
||||
M.fold (fun _ p l -> pair_of_e_pair p :: l) self.m []
|
||||
|
||||
let add_list (self : t) l = List.fold_right add_pair_ l self
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
include Types
|
||||
module A = Atomic_
|
||||
module Collector = Collector
|
||||
module Meta_map = Meta_map
|
||||
module Level = Level
|
||||
module Core_ext = Core_ext
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
include module type of Types
|
||||
module Collector = Collector
|
||||
module Meta_map = Meta_map
|
||||
module Level = Level
|
||||
|
||||
(**/**)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue