Functor LogtkCache.Linear2

module Linear2 (X : EQ)  (Y : EQ) : S2  with type key1 = X.t and type key2 = Y.t
X : EQ
Y : EQ

type 'a t 
type key1 
type key2 
val create : int -> 'a t
Create a new cache of the given size.
val clear : 'a t -> unit
Clear content of the cache
val with_cache : 'a t ->
(key1 -> key2 -> 'a) ->
key1 -> key2 -> 'a
Wrap the function with the cache
type 'a func = key1 -> key2 -> 'a 
val with_cache_rec : 'a t ->
('a func -> 'a func) -> 'a func
Partially apply the given function with a cached version of itself. It returns the specialized function.