projects
/
SXSI
/
xpathcomp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
8a31bd5
)
Add iteri function to traverse cache data structures.
author
Kim Nguyễn
<kn@lri.fr>
Wed, 14 Mar 2012 12:47:31 +0000
(13:47 +0100)
committer
Kim Nguyễn
<kn@lri.fr>
Wed, 14 Mar 2012 12:51:18 +0000
(13:51 +0100)
src/cache.ml
patch
|
blob
|
history
src/cache.mli
patch
|
blob
|
history
diff --git
a/src/cache.ml
b/src/cache.ml
index
59ff1fb
..
3efe3dc
100644
(file)
--- a/
src/cache.ml
+++ b/
src/cache.ml
@@
-56,15
+56,15
@@
struct
else a.dummy
let dummy a = a.dummy
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 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)
+ let v =
line.(i) in
f (i+a.offset) v (v==a.dummy)
done
f (i+a.offset) v (v==a.dummy)
done
-*)
+
end
end
@@
-98,6
+98,14
@@
struct
let dummy c = c.Lvl1.dummy.Lvl1.dummy
let dummy c = c.Lvl1.dummy.Lvl1.dummy
+ let iteri f a =
+ let line = a.Lvl1.line in
+ if a.Lvl1.offset == ~-1 then () else
+ for i = 0 to Array.length line - 1 do
+ Lvl1.iteri (f i) line.(i)
+ done
+
+
end
module Lvl3 =
end
module Lvl3 =
@@
-127,5
+135,11
@@
struct
let dummy a = Lvl2.dummy a.Lvl1.dummy
let dummy a = Lvl2.dummy a.Lvl1.dummy
+ let iteri f a =
+ let line = a.Lvl1.line in
+ if a.Lvl1.offset == ~-1 then () else
+ for i = 0 to Array.length line - 1 do
+ Lvl2.iteri (f i) line.(i)
+ done
end
end
diff --git
a/src/cache.mli
b/src/cache.mli
index
df09798
..
bc4cd48
100644
(file)
--- 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 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 *)
+ val iteri : (int -> 'a -> bool -> unit) -> 'a t -> unit
end
module Lvl2:
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 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*)
+ val iteri : (int -> int -> 'a -> bool -> unit) -> 'a t -> unit
end
module Lvl3 :
end
module Lvl3 :
@@
-29,6
+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 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*)
+ val iteri : (int -> int -> int -> 'a -> bool -> unit) -> 'a t -> unit
end
end