Module Core_profiler_offline_tool.Id_table

type ('a, +'rw) t
val create : Core_profiler.Probe_id.t list -> 'a -> ('a_) t

To create a table you need to specify which Probe_id.ts are valid cells, and give an empty value. This can either be in the form of a list of Probe_id.ts, or by copying the list from another Id_table.t (whose cell contents are ignored)

val create' : (__) t -> 'a -> ('a_) t
val init : Core_profiler.Probe_id.t list -> f:(Core_profiler.Probe_id.t -> 'a) -> ('a_) t
val init_from_map : 'b Core_profiler.Probe_id.Map.t -> f:(Core_profiler.Probe_id.t -> 'b -> 'a) -> ('a_) t
val set_exn : ('aCore.read_write) t -> Core_profiler.Probe_id.t -> 'a -> unit
val find : ('a_) t -> Core_profiler.Probe_id.t -> 'a option

A ('a, read_only) Id_table.t is meant to look like an Probe_id.Map.t:

val find_exn : ('a_) t -> Core_profiler.Probe_id.t -> 'a
val iter : ('a_) t -> f:(Core_profiler.Probe_id.t -> 'a -> unit) -> unit
val fold : ('a_) t -> init:'accum -> f:('accum -> Core_profiler.Probe_id.t -> 'a -> 'accum) -> 'accum
val fold_right : ('a_) t -> init:'accum -> f:('accum -> Core_profiler.Probe_id.t -> 'a -> 'accum) -> 'accum
val to_alist : ('a_) t -> (Core_profiler.Probe_id.t * 'a) list
val map : ('a_) t -> f:(Core_profiler.Probe_id.t -> 'a -> 'b) -> ('b_) t
val filter_map : ('a_) t -> f:(Core_profiler.Probe_id.t -> 'a -> 'b option) -> ('b_) t
val read_only : ('a_) t -> ('aCore.read) t