Module Flags_intf

module Flags_intf: sig .. end
module Flags implements Unix-style sets of flags that are represented as an int with various bits set, one bit for each flag. E.g. Linux_ext.Epoll.Flag.

Flags defines a module type Flags.S, the interface for a flags, and a functor Flags.Make for creating a flags implementation.


val __pa_ounit_275876e34cf609db118f3d84b799a790 : string

module Flags implements Unix-style sets of flags that are represented as an int with various bits set, one bit for each flag. E.g. Linux_ext.Epoll.Flag.

Flags defines a module type Flags.S, the interface for a flags, and a functor Flags.Make for creating a flags implementation.

module Int63: Int63
module type S = sig .. end
module type S is the interface for a set of flags.
module type Make_arg = sig .. end
module type Flags = sig .. end

module Flags implements Unix-style sets of flags that are represented as an int with various bits set, one bit for each flag. E.g. Linux_ext.Epoll.Flag.

Flags defines a module type Flags.S, the interface for a flags, and a functor Flags.Make for creating a flags implementation.

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 uses the flag names supplied to Flags.Make

An entry flag, name in known means that the flag bit is called name. known is only used to make sexp_of_t's output human readable.

The flags in the output of sexp_of_t will occur in the same order as they appear in known.

It is allowed to have a single flag with multiple bits set.

It is an error if there are different flags with the same bit set.

We expose type t = int in the result of Flags.Make so that one can easily use flag constants as values of the flag type without having to coerce them. It is typical to hide the t = int in another signature S.