Split the Options module in two to remove a circular dependency in
[SXSI/xpathcomp.git] / src / cache.mli
index 87ddfd9..bc4cd48 100644 (file)
@@ -1,37 +1,34 @@
-type 'a t
+module Lvl1 :
+sig
 
-val create : int -> 'a -> 'a t
+  type 'a t
 
-val find : 'a t -> int -> 'a
-
-val add : 'a t -> int -> 'a -> unit
-
-val dummy : 'a t -> 'a
-
-val to_array : 'a t -> 'a array
-
-module Lvl2 :
-  sig
+  val create : int -> 'a -> 'a t
+  val find : 'a t -> int -> 'a
+  val add : 'a t -> int -> 'a -> unit
+  val dummy : 'a t -> 'a
+  val iteri : (int -> 'a -> bool -> unit) -> 'a t -> unit
+end
 
+module Lvl2:
+sig
     type 'a t
-
-    val create : ?l1_size:int -> int -> 'a -> 'a t
+    val create : int -> 'a -> 'a t
     val find : 'a t -> int -> int -> 'a
     val add : 'a t -> int -> int -> 'a -> unit
     val dummy : 'a t -> 'a
-    val dummy_line :  'a t -> 'a array
-    val to_array : 'a t -> 'a array array
-
-  end
+    val iteri : (int -> int -> 'a -> bool -> unit) -> 'a t -> unit
+end
 
 module Lvl3 :
   sig
 
     type 'a t
 
-    val create : ?l1_size:int -> ?l2_size:int -> int -> 'a -> 'a t
+    val create : int -> 'a -> 'a t
     val find : 'a t -> int -> int -> int -> 'a
     val add : 'a t -> int -> int -> int -> 'a -> unit
     val dummy : 'a t -> 'a
-    val to_array : 'a t -> 'a array array array
+    val iteri : (int -> int -> int -> 'a -> bool -> unit) -> 'a t -> unit
   end