Incr_map_collate.Collate_paramsmodule Rank : sig ... endmodule Which_range : sig ... endtype ('k, 'filter, 'order) t = {filter : 'filter;User-defined type, usually algebraic data type, describing how the table can be filtered. You'll need to provide equal and to_predicate of type 'filter -> ('k -> 'v -> bool) for collate.
order : 'order;User-defined type, usually algebraic data type, describing how the table can be sorted. You'll need to provide equal and to_compare of type functionally equivalent to 'order -> ('v -> 'v -> int) for collate.
key_range : 'k Which_range.t;Select only rows between these keys (in the configured ordering)
*)rank_range : Rank.t Which_range.t;After selecting rows according to key_range, select rows between these positions.
For example, if your (sorted & filtered) data is (A, 1); (B, 2); (C, 3), then both for {key_range = All_rows; rank_range = (From (From_start 1))} and {key_range = From B; rank_range = All_rows} the result would be (B, 2); (C, 3)
widen_range_by : int * int;An amount to grow the resulting dataset beyond the start and end. Intended for use in combination with key_range, widen_range_by makes it possible to include data _around_ a range. Negative values are clamped to 0.
}include Ppx_compare_lib.Equal.S3
with type ('k, 'filter, 'order) t := ('k, 'filter, 'order) tval sexp_of_t :
('k -> Sexplib0.Sexp.t) ->
('filter -> Sexplib0.Sexp.t) ->
('order -> Sexplib0.Sexp.t) ->
('k, 'filter, 'order) t ->
Sexplib0.Sexp.tval default :
filter:'filter ->
order:'order ->
(_, 'filter, 'order) t @@ portablemodule Stable : sig ... endval of_stable_v1 :
('k, 'filter, 'order) Stable.V1.t ->
('k, 'filter, 'order) t @@ portableval of_stable_v2 :
('k, 'filter, 'order) Stable.V2.t ->
('k, 'filter, 'order) t @@ portable