Finish porting to the Grammar2 API
[SXSI/xpathcomp.git] / src / cache.mli
1 type 'a t
2
3 val create : int -> 'a -> 'a t
4 val find : 'a t -> int -> 'a
5 val add : 'a t -> int -> 'a -> unit
6 val dummy : 'a t -> 'a
7 val to_array : 'a t -> 'a array
8
9
10 module Lvl1 :
11 sig
12
13   type 'a t
14
15   val create : int -> 'a -> 'a t
16   val find : 'a t -> int -> 'a
17   val add : 'a t -> int -> 'a -> unit
18   val dummy : 'a t -> 'a
19   val to_array : 'a t -> 'a array
20
21 end
22
23 module Lvl2:
24 sig
25
26     type 'a t
27
28     val create : ?l1_size:int -> int -> 'a -> 'a t
29     val find : 'a t -> int -> int -> 'a
30     val add : 'a t -> int -> int -> 'a -> unit
31     val dummy : 'a t -> 'a
32     val dummy_line :  'a t -> 'a array
33     val to_array : 'a t -> 'a array array
34
35 end
36
37 module Lvl3 :
38   sig
39
40     type 'a t
41
42     val create : ?l1_size:int -> ?l2_size:int -> int -> 'a -> 'a t
43     val find : 'a t -> int -> int -> int -> 'a
44     val add : 'a t -> int -> int -> int -> 'a -> unit
45     val dummy : 'a t -> 'a
46     val to_array : 'a t -> 'a array array array
47
48   end