Module Fragments.Cache

include Lru.F.S with type k = K.t and type v = V.t
type t
type k = K.t
type v = V.t
val empty : int -> t
val is_empty : t -> bool
val size : t -> int
val weight : t -> int
val capacity : t -> int
val resize : int -> t -> t
val trim : t -> t
val mem : k -> t -> bool
val find : k -> t -> v option
val promote : k -> t -> t
val add : k -> v -> t -> t
val remove : k -> t -> t
val pop : k -> t -> (v * t) option
val lru : t -> (k * v) option
val drop_lru : t -> t
val pop_lru : t -> ((k * v) * t) option
val fold : (k -> v -> 'a -> 'a) -> 'a -> t -> 'a
val fold_k : (k -> v -> 'a -> 'a) -> 'a -> t -> 'a
val iter : (k -> v -> unit) -> t -> unit
val iter_k : (k -> v -> unit) -> t -> unit
val of_list : (k * v) list -> t
val to_list : t -> (k * v) list
val pp : ?pp_size:(Stdlib.Format.formatter -> (int * int) -> unit) -> ?sep:(Stdlib.Format.formatter -> unit -> unit) -> (Stdlib.Format.formatter -> (k * v) -> unit) -> Stdlib.Format.formatter -> t -> unit
val pp_dump : (Stdlib.Format.formatter -> k -> unit) -> (Stdlib.Format.formatter -> v -> unit) -> Stdlib.Format.formatter -> t -> unit