package ptmap

  1. Overview
  2. Docs
Maps of integers implemented as Patricia trees

Install

Dune Dependency

Authors

Maintainers

Sources

ptmap-2.0.5.tbz
sha256=ebd1f8afe8679a226fdcbcdb323788e6f63db57521b151473f2ff8c05c30f3aa
sha512=4a3f20d189d905cb588de3148361495adc40d5892473bf9cd7e49bc98558de29feb51efefb5aab77cad892dd288ad8fa0348832c78cc21e66539768a5a9cab5b

doc/ptmap/Ptmap/index.html

Module PtmapSource

Maps over integers implemented as Patricia trees.

The following signature is a subset of Map.S with type key = int, with the same specifications (not repeated here) unless specified otherwise.

These are little-endian Patricia trees, so there is no efficient ordering of keys within the structure. Consequently,

  • min/max_binding, find_first/last are rather inefficient (linear)
  • iter, fold *do not* iterate in the key order
  • bindings is *not sorted* by keys
Sourcetype key = int
Sourcetype +'a t
Sourceval empty : 'a t
Sourceval is_empty : 'a t -> bool
Sourceval mem : key -> 'a t -> bool
Sourceval add : key -> 'a -> 'a t -> 'a t
Sourceval update : key -> ('a option -> 'a option) -> 'a t -> 'a t
Sourceval singleton : key -> 'a -> 'a t
Sourceval remove : key -> 'a t -> 'a t
Sourceval merge : (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
Sourceval union : (key -> 'a -> 'a -> 'a option) -> 'a t -> 'a t -> 'a t
Sourceval compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
Sourceval equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
Sourceval iter : (key -> 'a -> unit) -> 'a t -> unit
Sourceval fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
Sourceval for_all : (key -> 'a -> bool) -> 'a t -> bool
Sourceval exists : (key -> 'a -> bool) -> 'a t -> bool
Sourceval filter : (key -> 'a -> bool) -> 'a t -> 'a t
Sourceval filter_map : (key -> 'a -> 'b option) -> 'a t -> 'b t
Sourceval partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
Sourceval cardinal : 'a t -> int
Sourceval bindings : 'a t -> (key * 'a) list
Sourceval min_binding : 'a t -> key * 'a
Sourceval min_binding_opt : 'a t -> (key * 'a) option
Sourceval max_binding : 'a t -> key * 'a
Sourceval max_binding_opt : 'a t -> (key * 'a) option
Sourceval choose : 'a t -> key * 'a
Sourceval choose_opt : 'a t -> (key * 'a) option
Sourceval split : key -> 'a t -> 'a t * 'a option * 'a t
Sourceval find : key -> 'a t -> 'a
Sourceval find_opt : key -> 'a t -> 'a option
Sourceval find_first : (key -> bool) -> 'a t -> key * 'a
Sourceval find_first_opt : (key -> bool) -> 'a t -> (key * 'a) option
Sourceval find_last : (key -> bool) -> 'a t -> key * 'a
Sourceval find_last_opt : (key -> bool) -> 'a t -> (key * 'a) option
Sourceval map : ('a -> 'b) -> 'a t -> 'b t
Sourceval mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
Sourceval to_seq : 'a t -> (key * 'a) Seq.t
Sourceval to_seq_from : key -> 'a t -> (key * 'a) Seq.t
Sourceval add_seq : (key * 'a) Seq.t -> 'a t -> 'a t
Sourceval of_seq : (key * 'a) Seq.t -> 'a t
OCaml

Innovation. Community. Security.