# Module type Flags_intf.S

    module type S = sig .. end

`module type S` is the interface for a set of flags. Values of `type t` are set of flags, and the various functions operate on sets of flags. There is a finite universe of flags (in particular 63 flags, one for each bit).

`sexp_of_t` and `t_of_sexp` use the flag names supplied to `Flags.Make`.

    type t

    val typerep_of_t : t Typerep_lib.Std.Typerep.t

    val typename_of_t : t Typerep_lib.Std.Typename.t

    include Comparable.S

consistent with subset

    val of_int : int -> t

    val to_int_exn : t -> int

    val empty : t

    val (+) : t -> t -> t

set union, bitwise or

    val (-) : t -> t -> t

set difference

    val intersect : t -> t -> t

bitwise and

    val complement : t -> t

bitwise not

    val is_empty : t -> bool

    val do_intersect : t -> t -> bool

    val are_disjoint : t -> t -> bool

    val t_of_sexp : Sexplib.Sexp.t -> t

    val sexp_of_t : t -> Sexplib.Sexp.t

consistent with subset
set union, bitwise or
set difference
bitwise and
bitwise not