Module BitMaskSet

Bitmasks exposed as sets. See the documentation for Set.S in the Standard Library for details of functions. The ordering used for elements in the set has the least significant bit as the smallest element which corresponds with constructor order of the sum type used for the elements. A complete example may be found in Make.

module type S = sig ... end

Signature for Bitmask Sets.

module type Storage = sig ... end

Underlying storage type and operations on the storage type. Default implementations are provided in Int and Int64.

module type BitMask = sig ... end

Input signature for Make combining Storage with the actual details of a bitmask. See Make for details of its use.

module Int : Storage with type storage = int

Implementation of Storage for type int

module Int64 : Storage with type storage = int64

Implementation of Storage for type int64

module Make : functor (Mask : BitMask) -> sig ... end

Functor building an implementation of a BitMaskSet for a given BitMask. Normally, the result of this functor will be constrained to S as: