Update caching infrastructure to automatically resize when needed.
authorKim Nguyễn <kn@lri.fr>
Thu, 1 Mar 2012 13:25:56 +0000 (14:25 +0100)
committerKim Nguyễn <kn@lri.fr>
Thu, 1 Mar 2012 13:25:56 +0000 (14:25 +0100)
src/cache.ml
src/cache.mli

index d65df68..59ff1fb 100644 (file)
@@ -56,6 +56,15 @@ struct
     else a.dummy
 
   let dummy a = a.dummy
+(*
+  let iteri f a =
+    let line = a.line in
+    if a.offset == ~-1 then () else
+      for i = 0 to Array.length line - 1 do
+       let v = a.(i)
+         f (i+a.offset) v (v==a.dummy)
+      done
+*)
 
 end
 
index 9057c10..df09798 100644 (file)
@@ -7,7 +7,7 @@ sig
   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:
@@ -17,7 +17,7 @@ sig
     val find : 'a t -> int -> int -> 'a
     val add : 'a t -> int -> int -> 'a -> unit
     val dummy : 'a t -> 'a
-
+(*    val iteri : (int -> int -> 'a -> bool -> unit) -> 'a t -> unit*)
 end
 
 module Lvl3 :
@@ -29,5 +29,6 @@ module Lvl3 :
     val find : 'a t -> int -> int -> int -> 'a
     val add : 'a t -> int -> int -> int -> 'a -> unit
     val dummy : 'a t -> 'a
+(*    val iteri : (int -> int -> int -> 'a -> bool -> unit) -> 'a t -> unit*)
  
   end