package hmap

  1. Overview
  2. Docs
On This Page
  1. Keys
  2. Maps
Legend:
Library
Module
Module type
Parameter
Class
Class type

Output signature of the functor Make

Keys

type 'a key

The type for keys whose lookup value is of type 'a.

module Key : sig ... end

Keys.

Maps

type t

The type for heterogeneous value maps.

val empty : t

empty is the empty map.

val is_empty : t -> bool

is_empty m is true iff m is empty.

val mem : 'a key -> t -> bool

mem k m is true iff k is bound in m.

val add : 'a key -> 'a -> t -> t

add k v m is m with k bound to v.

val singleton : 'a key -> 'a -> t

singleton k v is add k v empty.

val rem : 'a key -> t -> t

rem k m is m with k unbound.

val find : 'a key -> t -> 'a option

find k m is the value of k's binding in m, if any.

val get : 'a key -> t -> 'a

get k m is the value of k's binding in m.

  • raises Invalid_argument

    if k is not bound in m.

type binding =
  1. | B : 'a key * 'a -> binding

The type for bindings.

val iter : (binding -> unit) -> t -> unit

iter f m applies f to all bindings of m.

val fold : (binding -> 'a -> 'a) -> t -> 'a -> 'a

fold f m acc folds over the bindings of m with f, starting with acc

val for_all : (binding -> bool) -> t -> bool

for_all p m is true iff all bindings of m satisfy p.

val exists : (binding -> bool) -> t -> bool

exists p m is true iff there exists a bindings of m that satisfies p.

val filter : (binding -> bool) -> t -> t

filter p m are the bindings of m that satisfy p.

val cardinal : t -> int

cardinal m is the number of bindings in m.

val any_binding : t -> binding option

any_binding m is a binding of m (if not empty).

val get_any_binding : t -> binding

get_any_binding m is a binding of m.

  • raises Invalid_argument

    if m is empty.