aboutsummaryrefslogtreecommitdiffhomepage
path: root/lib
diff options
context:
space:
mode:
authorGravatar Guillaume Melquiond <guillaume.melquiond@inria.fr>2016-01-06 14:22:34 +0100
committerGravatar Guillaume Melquiond <guillaume.melquiond@inria.fr>2016-01-06 14:22:34 +0100
commit1afa595012bbaf5fb89398b355f16159e1af399b (patch)
tree255cc594c736debd1cbd53b92906e1fa10d80de5 /lib
parent7ca0319268c2c6912e08c53deb742d5f7631e210 (diff)
parent8b5d02d8706f99015c2ce8efcad32b7af228dd53 (diff)
Merge remote-tracking branch 'origin/v8.5' into trunk
Conflicts: lib/cSig.mli
Diffstat (limited to 'lib')
-rw-r--r--lib/cMap.ml2
-rw-r--r--lib/cMap.mli2
-rw-r--r--lib/cSig.mli31
-rw-r--r--lib/clib.mllib4
4 files changed, 35 insertions, 4 deletions
diff --git a/lib/cMap.ml b/lib/cMap.ml
index 876f84736..925af00c0 100644
--- a/lib/cMap.ml
+++ b/lib/cMap.ml
@@ -23,7 +23,7 @@ module type S = Map.S
module type ExtS =
sig
- include Map.S
+ include CSig.MapS
module Set : CSig.SetS with type elt = key
val update : key -> 'a -> 'a t -> 'a t
val modify : key -> (key -> 'a -> 'a) -> 'a t -> 'a t
diff --git a/lib/cMap.mli b/lib/cMap.mli
index cd3d2f5b1..f032a6d7d 100644
--- a/lib/cMap.mli
+++ b/lib/cMap.mli
@@ -25,7 +25,7 @@ module type S = Map.S
module type ExtS =
sig
- include Map.S
+ include CSig.MapS
(** The underlying Map library *)
module Set : CSig.SetS with type elt = key
diff --git a/lib/cSig.mli b/lib/cSig.mli
index 796e58cbf..151cfbdca 100644
--- a/lib/cSig.mli
+++ b/lib/cSig.mli
@@ -49,3 +49,34 @@ end
documentation for more information. *)
module type EmptyS = sig end
+
+module type MapS =
+sig
+ type key
+ type (+'a) t
+ val empty: 'a t
+ val is_empty: 'a t -> bool
+ val mem: key -> 'a t -> bool
+ val add: key -> 'a -> 'a t -> 'a t
+ val singleton: key -> 'a -> 'a t
+ val remove: key -> 'a t -> 'a t
+ val merge:
+ (key -> 'a option -> 'b option -> 'c option) -> 'a t -> 'b t -> 'c t
+ val compare: ('a -> 'a -> int) -> 'a t -> 'a t -> int
+ val equal: ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
+ val iter: (key -> 'a -> unit) -> 'a t -> unit
+ val fold: (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
+ val for_all: (key -> 'a -> bool) -> 'a t -> bool
+ val exists: (key -> 'a -> bool) -> 'a t -> bool
+ val filter: (key -> 'a -> bool) -> 'a t -> 'a t
+ val partition: (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
+ val cardinal: 'a t -> int
+ val bindings: 'a t -> (key * 'a) list
+ val min_binding: 'a t -> (key * 'a)
+ val max_binding: 'a t -> (key * 'a)
+ val choose: 'a t -> (key * 'a)
+ val split: key -> 'a t -> 'a t * 'a option * 'a t
+ val find: key -> 'a t -> 'a
+ val map: ('a -> 'b) -> 'a t -> 'b t
+ val mapi: (key -> 'a -> 'b) -> 'a t -> 'b t
+end
diff --git a/lib/clib.mllib b/lib/clib.mllib
index 1770df199..3c1c5da33 100644
--- a/lib/clib.mllib
+++ b/lib/clib.mllib
@@ -19,11 +19,11 @@ Pp_control
Flags
Control
Loc
+CList
+CString
Serialize
Deque
CObj
-CList
-CString
CArray
CStack
Util