sig
type t
val empty : IntSet.t
val singleton : int -> IntSet.t
val of_list : int list -> IntSet.t
val is_empty : IntSet.t -> bool
val size : IntSet.t -> int
val equal : IntSet.t -> IntSet.t -> bool
val contains : IntSet.t -> int -> bool
val is_subset : IntSet.t -> IntSet.t -> bool
val choose : IntSet.t -> int
val add : IntSet.t -> int -> IntSet.t
val remove : IntSet.t -> int -> IntSet.t
val pop : IntSet.t -> int * IntSet.t
val union : IntSet.t -> IntSet.t -> IntSet.t
val minus : IntSet.t -> IntSet.t -> IntSet.t
val intersection : IntSet.t -> IntSet.t -> IntSet.t
val do_intersect : IntSet.t -> IntSet.t -> bool
val intersection_size : IntSet.t -> IntSet.t -> int
val split : IntSet.t -> int -> IntSet.t * bool * IntSet.t
val partition : (int -> bool) -> IntSet.t -> IntSet.t * IntSet.t
val find_opt : (int -> 'a option) -> IntSet.t -> 'a option
val find : (int -> bool) -> IntSet.t -> int
val for_all : (int -> bool) -> IntSet.t -> bool
val fold : ('a -> int -> 'a) -> IntSet.t -> 'a -> 'a
val fold_intersection :
('a -> int -> 'a) -> IntSet.t -> IntSet.t -> 'a -> 'a
val iter : (int -> unit) -> IntSet.t -> unit
val output : Pervasives.out_channel -> IntSet.t -> unit
val print : IntSet.t -> unit
val dump : IntSet.t -> unit
end