package binsec

  1. Overview
  2. Docs

doc/binsec.base/Binsec_base/Hmap/Make/index.html

Module Hmap.MakeSource

Parameters

module H : sig ... end

Signature

Sourcetype key = H.t
Sourcetype !'a t
Sourceval empty : 'a t
Sourceval add : key -> 'a -> 'a t -> 'a t
Sourceval singleton : key -> 'a -> 'a t
Sourceval union_eq : (key -> 'a -> 'a -> 'a) -> 'a t -> 'a t -> 'a t

union_eq f m m' is equivalent to merge (fun k d d' -> match d, d' with | None, _ -> d' | _, None -> d | Some a, Some a' -> if a == a' then d else Some (f k a a')) m m'

Sourceval union_map_eq : (key -> 'a -> 'a -> 'a) -> (key -> 'a -> 'a) -> 'a t -> 'a t -> 'a t

union_map_eq f g m m' is equivalent to merge (fun k d d' -> match d, d' with | None, None -> assert false | None, Some a' -> Some (g k a') | Some a, None -> Some (g k a) | Some a, Some a' -> if a == a' then d else Some (f k a a')) m m'

Sourceval freeze : 'a t -> unit
Sourceval bindings : 'a t -> (key * 'a) list
Sourceval choose : 'a t -> key * 'a
Sourceval mem : key -> 'a t -> bool
Sourceval find : key -> 'a t -> 'a
Sourceval iter : (key -> 'a -> unit) -> 'a t -> unit
Sourceval fold : (key -> 'a -> 'acc -> 'acc) -> 'a t -> 'acc -> 'acc
Sourceval map : ('a -> 'b) -> 'a t -> 'b t
Sourceval mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
Sourceval is_empty : 'a t -> bool