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

Contents of /types/sortedList.mli

Parent Directory Parent Directory | Revision Log Revision Log


Revision 367 - (show 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 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 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 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 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 val from_list : 'a elem list -> 'a t
38 val add: 'a elem -> 'a t -> 'a t
39 val remove: 'a elem -> 'a t -> 'a t
40 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 (* split l1 l2 = (l1 \ l2, l1 & l2, l2 \ l1) *)
44 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
50 val check: 'a elem list -> unit
51
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 val iter: ('b -> unit) -> ('a,'b) map -> unit
57 val is_empty: ('a,'b) map -> bool
58 val singleton: 'a elem -> 'b -> ('a,'b) map
59 val assoc_remove: 'a elem -> ('a,'b) map -> 'b * ('a,'b) map
60 val remove: 'a elem -> ('a,'b) map -> ('a,'b) map
61 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 val from_list_disj: ('a elem * 'b) list -> ('a,'b) map
67
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 val mapi: ('a elem -> 'b -> 'c) -> ('a,'b) map -> ('a,'c) map
72 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 val assoc_present: 'a elem -> ('a,'b) map -> 'b
78 val compare: ('b -> 'b -> int) -> ('a,'b) map -> ('a,'b) map -> int
79 val hash: ('b -> int) -> ('a,'b) map -> int
80 val equal: ('b -> 'b -> bool) -> ('a,'b) map -> ('a,'b) map -> bool
81 end
82 end
83
84 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
88 module String : ARG0 with type t = string
89

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