X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=lib%2Fwhenutils.mli;h=00b2ff190b4fcd6b3831fd9801159554db212a00;hb=f5e25b30077afe8b7dab03c1059932ac981c47bb;hp=61cd4f8fad50a470b0340fe44c7c1a4b18ae13e1;hpb=adc311d69459345a9ce23864d7aa41a7a6b97b42;p=whenjobs.git diff --git a/lib/whenutils.mli b/lib/whenutils.mli index 61cd4f8..00b2ff1 100644 --- a/lib/whenutils.mli +++ b/lib/whenutils.mli @@ -84,6 +84,39 @@ module IntMap : sig end (** A map from int to any type. *) +module BigIntMap : sig + type key = Big_int.big_int + 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 + val keys : 'a t -> key list + val values : 'a t -> 'a list +end +(** A map from big_int to any type. *) + module StringSet : sig type elt = String.t type t = Set.Make(String).t