diff options
author | Guillaume Melquiond <guillaume.melquiond@inria.fr> | 2016-01-06 14:22:34 +0100 |
---|---|---|
committer | Guillaume Melquiond <guillaume.melquiond@inria.fr> | 2016-01-06 14:22:34 +0100 |
commit | 1afa595012bbaf5fb89398b355f16159e1af399b (patch) | |
tree | 255cc594c736debd1cbd53b92906e1fa10d80de5 /lib | |
parent | 7ca0319268c2c6912e08c53deb742d5f7631e210 (diff) | |
parent | 8b5d02d8706f99015c2ce8efcad32b7af228dd53 (diff) |
Merge remote-tracking branch 'origin/v8.5' into trunk
Conflicts:
lib/cSig.mli
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cMap.ml | 2 | ||||
-rw-r--r-- | lib/cMap.mli | 2 | ||||
-rw-r--r-- | lib/cSig.mli | 31 | ||||
-rw-r--r-- | lib/clib.mllib | 4 |
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 |