package incr_map

  1. Overview
  2. Docs
type ('k, 'v) t

The result of collation - a filtered, sorted and restricted-to-a-range list of keys and values. The underlying data structure is a bit more sophisticated than a list, to provide better diffing.

To get an implementation of Diffable interface, you'll need to instantiate Make_concrete.

include Sexplib0.Sexpable.S2 with type ('k, 'v) t := ('k, 'v) t
val t_of_sexp : (Sexplib0.Sexp.t -> 'a) -> (Sexplib0.Sexp.t -> 'b) -> Sexplib0.Sexp.t -> ('a, 'b) t
val sexp_of_t : ('a -> Sexplib0.Sexp.t) -> ('b -> Sexplib0.Sexp.t) -> ('a, 'b) t -> Sexplib0.Sexp.t
include Core.Bin_prot.Binable.S2 with type ('k, 'v) t := ('k, 'v) t
val bin_size_t : ('a, 'b, ('a, 'b) t) Bin_prot.Size.sizer2
val bin_write_t : ('a, 'b, ('a, 'b) t) Bin_prot.Write.writer2
val bin_read_t : ('a, 'b, ('a, 'b) t) Bin_prot.Read.reader2
val __bin_read_t__ : ('a, 'b, int -> ('a, 'b) t) Bin_prot.Read.reader2
val bin_writer_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.writer
val bin_reader_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.reader
val bin_t : ('a, 'b, ('a, 'b) t) Bin_prot.Type_class.S2.t
include Ppx_compare_lib.Comparable.S2 with type ('k, 'v) t := ('k, 'v) t
val compare : ('a -> 'a -> int) -> ('b -> 'b -> int) -> ('a, 'b) t -> ('a, 'b) t -> int
include Ppx_compare_lib.Equal.S2 with type ('k, 'v) t := ('k, 'v) t
val equal : ('a -> 'a -> bool) -> ('b -> 'b -> bool) -> ('a, 'b) t -> ('a, 'b) t -> bool
val empty : (_, _) t
val fold : ('k, 'v) t -> init:'accum -> f:('accum -> ('k * 'v) -> 'accum) -> 'accum
val iter : ('k, 'v) t -> f:(('k * 'v) -> unit) -> unit
val to_alist : ('k, 'v) t -> ('k * 'v) list
val to_map_list : ('k, 'v) t -> ('k * 'v) Incr_map_erase_key.t
val first : ('k, 'v) t -> ('k * 'v) option
val last : ('k, 'v) t -> ('k * 'v) option
val mapi : ('k, 'v1) t -> f:('k -> 'v1 -> 'v2) -> ('k, 'v2) t
val length : (_, _) t -> int
val num_unfiltered_rows : (_, _) t -> int

Total number of rows before filtering

val num_filtered_rows : (_, _) t -> int

Total number of rows after filtering, but before limiting to range.

val num_before_range : (_, _) t -> int

Total number of rows that preceed the rank-range and key-range ranges.

val num_after_range : (_, _) t -> int

Total number of rows that follow the rank-range and key-range ranges.

val key_range : ('k, _) t -> 'k Collate.Which_range.t

The key range this result was computed for

val rank_range : (_, _) t -> int Collate.Which_range.t

The rank range this result was computed for

module Private : sig ... end
module For_testing : sig ... end
module type Concrete = sig ... end
module Make_concrete (Key : sig ... end) (Value : sig ... end) : Concrete with type Key.t = Key.t and type Value.t = Value.t