From 895a134ffb8274e9abba18fec9780142fcb5a937 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Thu, 1 Mar 2012 14:25:56 +0100 Subject: [PATCH] Update caching infrastructure to automatically resize when needed. --- src/cache.ml | 9 +++++++++ src/cache.mli | 5 +++-- 2 files changed, 12 insertions(+), 2 deletions(-) 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 -- 2.17.1