X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=src%2Fcache.ml;h=3efe3dcde325bffb73eb0fa97a9db9385d5ab4b1;hb=9d761fb9aba3c653b1666e7ea3a5d2aec9a1138a;hp=59ff1fb92c4e56faafeb76aad9f78bbcf87340f6;hpb=8a31bd5c0847ca9c45627cb808a57d9c07c7b0dc;p=SXSI%2Fxpathcomp.git diff --git a/src/cache.ml b/src/cache.ml index 59ff1fb..3efe3dc 100644 --- a/src/cache.ml +++ b/src/cache.ml @@ -56,15 +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) + let v = line.(i) in f (i+a.offset) v (v==a.dummy) done -*) + end @@ -98,6 +98,14 @@ struct 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 = @@ -127,5 +135,11 @@ struct 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