From: Kim Nguyễn Date: Thu, 1 Mar 2012 13:25:56 +0000 (+0100) Subject: Update caching infrastructure to automatically resize when needed. X-Git-Url: http://git.nguyen.vg/gitweb/?a=commitdiff_plain;h=895a134ffb8274e9abba18fec9780142fcb5a937;hp=cb90d64919eb8ebe56aecfec3a1a8af86642df04;p=SXSI%2Fxpathcomp.git Update caching infrastructure to automatically resize when needed. --- diff --git a/src/cache.ml b/src/cache.ml index d65df68..59ff1fb 100644 --- a/src/cache.ml +++ b/src/cache.ml @@ -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 diff --git a/src/cache.mli b/src/cache.mli index 9057c10..df09798 100644 --- a/src/cache.mli +++ b/src/cache.mli @@ -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