package core_extended

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Parameters

module Strat : Strategy
module Store : Store

Signature

type ('k, 'v) t

A key value cache

type 'a with_init_args = 'a Store.with_init_args Strat.with_init_args

Used to specify the type of the create and memoize function. This describes the arguments required to initialise the caching strategy and the store. For instance if the store doesn't take any argument (eg.: Store.Table) and the strategy takes an int (eg.: Strategy.Lru) this type will be:

type 'a with_init_args = int -> 'a
type ('a, 'b) memo = ('a, ('b, exn) Core.Result.t) t
val find : ('k, 'v) t -> 'k -> 'v option
val add : ('k, 'v) t -> key:'k -> data:'v -> unit
val remove : ('k, _) t -> 'k -> unit
val clear : (_, _) t -> unit
val create : destruct:('v -> unit) option -> ('k, 'v) t with_init_args
val call_with_cache : cache:('a, 'b) memo -> ('a -> 'b) -> 'a -> 'b
val memoize : ?destruct:('b -> unit) -> ('a -> 'b) -> (('a, 'b) memo * ('a -> 'b)) with_init_args
OCaml

Innovation. Community. Security.