/[svn]/types/sortedList.mli
ViewVC logotype

Contents of /types/sortedList.mli

Parent Directory Parent Directory | Revision Log Revision Log


Revision 367 - (hide annotations)
Tue Jul 10 17:28:43 2007 UTC (5 years, 10 months ago) by abate
File size: 3077 byte(s)
[r2003-05-18 14:42:51 by cvscast] Clean-up

Original author: cvscast
Date: 2003-05-18 14:44:17+00:00
1 abate 224 module type ARG =
2     sig
3     type 'a t
4     val equal: 'a t -> 'a t -> bool
5     val hash: 'a t -> int
6     val compare: 'a t -> 'a t -> int
7     end
8    
9 abate 225 module type ARG0 =
10     sig
11     type t
12     val equal: t -> t -> bool
13     val hash: t -> int
14     val compare: t -> t -> int
15     end
16    
17 abate 224 module type S =
18     sig
19     type 'a elem
20     type 'a t
21     val equal: 'a t -> 'a t -> bool
22     val hash: 'a t -> int
23     val compare: 'a t -> 'a t -> int
24    
25 abate 225 external get: 'a t -> 'a elem list = "%identity"
26    
27     val singleton: 'a elem -> 'a t
28     val iter: ('a elem -> unit) -> 'a t -> unit
29     val filter: ('a elem -> bool) -> 'a t -> 'a t
30     val exists: ('a elem -> bool) -> 'a t -> bool
31     val fold: ('b -> 'a elem -> 'b) -> 'b -> 'a t -> 'b
32     val pick: 'a t -> 'a elem option
33     val length: 'a t -> int
34    
35     val empty: 'a t
36     val is_empty: 'a t -> bool
37 abate 224 val from_list : 'a elem list -> 'a t
38     val add: 'a elem -> 'a t -> 'a t
39 abate 225 val remove: 'a elem -> 'a t -> 'a t
40 abate 224 val disjoint: 'a t -> 'a t -> bool
41     val cup: 'a t -> 'a t -> 'a t
42     val split: 'a t -> 'a t -> 'a t * 'a t * 'a t
43 abate 1 (* split l1 l2 = (l1 \ l2, l1 & l2, l2 \ l1) *)
44 abate 224 val cap: 'a t -> 'a t -> 'a t
45     val diff: 'a t -> 'a t -> 'a t
46     val subset: 'a t -> 'a t -> bool
47     val map: ('a elem-> 'b elem) -> 'a t -> 'b t
48     val mem: 'a t -> 'a elem -> bool
49 abate 1
50 abate 224 val check: 'a elem list -> unit
51 abate 225
52     module Map: sig
53     type ('a,'b) map
54     external get: ('a,'b) map -> ('a elem * 'b) list = "%identity"
55     val empty: ('a,'b) map
56 abate 233 val iter: ('b -> unit) -> ('a,'b) map -> unit
57 abate 225 val is_empty: ('a,'b) map -> bool
58     val singleton: 'a elem -> 'b -> ('a,'b) map
59 abate 233 val assoc_remove: 'a elem -> ('a,'b) map -> 'b * ('a,'b) map
60 abate 240 val remove: 'a elem -> ('a,'b) map -> ('a,'b) map
61 abate 225 val merge: ('b -> 'b -> 'b ) -> ('a,'b) map -> ('a,'b) map -> ('a,'b) map
62     val merge_elem: 'b -> ('a,'b) map -> ('a,'b) map -> ('a,'b) map
63     val union_disj: ('a,'b) map -> ('a,'b) map -> ('a,'b) map
64     val diff: ('a,'b) map -> 'a t -> ('a,'b) map
65     val from_list: ('b -> 'b -> 'b ) -> ('a elem * 'b) list -> ('a,'b) map
66 abate 243 val from_list_disj: ('a elem * 'b) list -> ('a,'b) map
67 abate 225
68     val map_from_slist: ('a elem -> 'b) -> 'a t -> ('a,'b) map
69     val collide: ('b -> 'c -> unit) -> ('a,'b) map -> ('a,'c) map -> unit
70     val map: ('b -> 'c) -> ('a,'b) map -> ('a,'c) map
71 abate 233 val mapi: ('a elem -> 'b -> 'c) -> ('a,'b) map -> ('a,'c) map
72 abate 225 val constant: 'b -> 'a t -> ('a,'b) map
73     val num: int -> 'a t -> ('a,int) map
74     val map_to_list: ('b -> 'c) -> ('a,'b) map -> 'c list
75     val mapi_to_list: ('a elem -> 'b -> 'c) -> ('a,'b) map -> 'c list
76     val assoc: 'a elem -> ('a,'b) map -> 'b
77 abate 243 val assoc_present: 'a elem -> ('a,'b) map -> 'b
78 abate 237 val compare: ('b -> 'b -> int) -> ('a,'b) map -> ('a,'b) map -> int
79 abate 271 val hash: ('b -> int) -> ('a,'b) map -> int
80 abate 276 val equal: ('b -> 'b -> bool) -> ('a,'b) map -> ('a,'b) map -> bool
81 abate 225 end
82 abate 224 end
83 abate 1
84 abate 225 module Make(X : ARG) : S with type 'a elem = 'a X.t
85     module Make_transp(X : ARG) : S with type 'a elem = 'a X.t and type 'a t = 'a X.t list
86     module Lift(X : ARG0) : ARG with type 'a t = X.t
87 abate 224
88 abate 225 module String : ARG0 with type t = string
89    

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5