Module Flags.Make
Flags.Make
builds a new flags module. If there is an error in the known
flags, it behaves as per on_error
.
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
.
Parameters
Signature
type t
= Core_kernel.Int63.t
include Ppx_sexp_conv_lib.Sexpable.S with type t := t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
include Typerep_lib.Typerepable.S with type t := t
val typerep_of_t : t Typerep_lib.Std_internal.Typerep.t
val typename_of_t : t Typerep_lib.Typename.t
consistent with subset
include Core_kernel.Comparable.S with type t := t
include Core_kernel__.Comparable_intf.S_common
include Base.Comparable.S
include Base__.Comparable_intf.Polymorphic_compare
val ascending : t -> t -> int
ascending
is identical tocompare
.descending x y = ascending y x
. These are intended to be mnemonic when used likeList.sort ~compare:ascending
andList.sort ~cmp:descending
, since they cause the list to be sorted in ascending or descending order, respectively.
val descending : t -> t -> int
val between : t -> low:t -> high:t -> bool
between t ~low ~high
meanslow <= t <= high
val clamp_exn : t -> min:t -> max:t -> t
clamp_exn t ~min ~max
returnst'
, the closest value tot
such thatbetween t' ~low:min ~high:max
is true.Raises if
not (min <= max)
.
val clamp : t -> min:t -> max:t -> t Base.Or_error.t
include Base.Comparator.S with type t := t
val comparator : (t, comparator_witness) Base.Comparator.comparator
include Base__.Comparable_intf.Validate with type t := t
val validate_lbound : min:t Base.Maybe_bound.t -> t Base.Validate.check
val validate_ubound : max:t Base.Maybe_bound.t -> t Base.Validate.check
val validate_bound : min:t Base.Maybe_bound.t -> max:t Base.Maybe_bound.t -> t Base.Validate.check
module Replace_polymorphic_compare : Core_kernel__.Comparable_intf.Polymorphic_compare with type t := t
module Map : Core_kernel.Map.S with type Key.t = t with type Key.comparator_witness = comparator_witness
module Set : Core_kernel.Set.S with type Elt.t = t with type Elt.comparator_witness = comparator_witness
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. Although we use operators
+
and-
, they do not satisfy the usual arithmetic equations, e.g.x - y = x + (empty - y)
does not hold.
val is_empty : t -> bool
val do_intersect : t -> t -> bool
val are_disjoint : t -> t -> bool
val is_subset : t -> of_:t -> bool
is_subset t ~of_
ist = intersect t of_
module Unstable : sig ... end