sig
module type T =
sig
type t
val empty : Sets.T.t
val union : Sets.T.t -> Sets.T.t -> Sets.T.t
val inter : Sets.T.t -> Sets.T.t -> Sets.T.t
val singleton : int -> Sets.T.t
val mem : int -> Sets.T.t -> bool
val equal : Sets.T.t -> Sets.T.t -> bool
val compare : Sets.T.t -> Sets.T.t -> int
val full : int -> Sets.T.t
val hash : Sets.T.t -> int
val fold : (int -> 'a -> 'a) -> Sets.T.t -> 'a -> 'a
val shift : int -> Sets.T.t -> Sets.T.t
val size : Sets.T.t -> int
val rem : int -> Sets.T.t -> Sets.T.t
val add : int -> Sets.T.t -> Sets.T.t
val is_empty : Sets.T.t -> bool
val intersect : Sets.T.t -> Sets.T.t -> bool
val diff : Sets.T.t -> Sets.T.t -> Sets.T.t
val subseteq : Sets.T.t -> Sets.T.t -> bool
val set_compare : Sets.T.t -> Sets.T.t -> [ `Eq | `Gt | `Lt | `N ]
val map : (int -> int) -> Sets.T.t -> Sets.T.t
val iter : (int -> unit) -> Sets.T.t -> unit
val filter : (int -> bool) -> Sets.T.t -> Sets.T.t
val cardinal : Sets.T.t -> int
val forall : Sets.T.t -> (int -> bool) -> bool
val exists : Sets.T.t -> (int -> bool) -> bool
val to_list : Sets.T.t -> int list
val of_list : int list -> Sets.T.t
val print : Format.formatter -> Sets.T.t -> unit
val print' :
(Format.formatter -> int -> unit) ->
Format.formatter -> Sets.T.t -> unit
val random : int -> float -> Sets.T.t
module Map :
sig
type key = t
type 'a t
val create : int -> 'a t
val clear : 'a t -> unit
val reset : 'a t -> unit
val copy : 'a t -> 'a t
val add : 'a t -> key -> 'a -> unit
val remove : 'a t -> key -> unit
val find : 'a t -> key -> 'a
val find_all : 'a t -> key -> 'a list
val replace : 'a t -> key -> 'a -> unit
val mem : 'a t -> key -> bool
val iter : (key -> 'a -> unit) -> 'a t -> unit
val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
val length : 'a t -> int
val stats : 'a t -> Hashtbl.statistics
end
end
module OList : T
module Small : T
module NarithInlined : T
module AVL : T
module Dup : functor (M1 : T) (M2 : T) -> T
end