Module Interval_map.With_Extract

Parameters

module Value : sig ... end

Signature

type t
val create : size:int -> Value.t -> t
val get_size : t -> int
val iter_between : size:int -> key -> t -> extract:(Value.t -> idx:int -> size:int -> oldsize:int -> 'extracted) -> (size:int -> key -> 'extracted -> unit) -> unit
val fold_between : size:int -> key -> t -> extract:(Value.t -> idx:int -> size:int -> oldsize:int -> 'extracted) -> 'b -> (size:int -> key -> 'extracted -> 'b -> 'b) -> 'b
val store : size:int -> key -> t -> Value.t -> t
val fold_on_diff : t -> t -> 'a -> extracta:(Value.t -> idx:int -> size:int -> oldsize:int -> 'extracted) -> extractb:(Value.t -> idx:int -> size:int -> oldsize:int -> 'extracted) -> (size:int -> key -> 'extracted -> 'extracted -> 'a -> 'a) -> 'a
val fold_on_diff3 : t -> t -> t -> 'a -> extract:(Value.t -> idx:int -> size:int -> oldsize:int -> 'extracted) -> (size:int -> key -> 'extracted -> 'extracted -> 'extracted -> 'a -> 'a) -> 'a
val subst_between : key -> size:int -> t -> extract:(Value.t -> idx:int -> size:int -> oldsize:int -> Value.t) -> (size:int -> key -> Value.t -> Value.t) -> t