package core_kernel

  1. Overview
  2. Docs
Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source

Module Flags.MakeSource

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

module M : Make_arg

Signature

include Sexplib0.Sexpable.S with type t := t
Sourceval t_of_sexp : Sexplib0.Sexp.t -> t
Sourceval sexp_of_t : t -> Sexplib0.Sexp.t

consistent with subset

include Core.Comparable.S with type t := t
include Base.Comparable.S with type t := t
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
Sourceval (=) : t -> t -> bool
val (>) : t -> t -> bool
val (<) : t -> t -> bool
Sourceval (<>) : t -> t -> bool
Sourceval equal : t -> t -> bool
val compare : t -> t -> int

compare t1 t2 returns 0 if t1 is equal to t2, a negative integer if t1 is less than t2, and a positive integer if t1 is greater than t2.

val min : t -> t -> t
val max : t -> t -> t
val ascending : t -> t -> int

ascending is identical to compare. descending x y = ascending y x. These are intended to be mnemonic when used like List.sort ~compare:ascending and List.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 means low <= t <= high

val clamp_exn : t -> min:t -> max:t -> t

clamp_exn t ~min ~max returns t', the closest value to t such that between t' ~low:min ~high:max is true.

Raises if not (min <= max).

val clamp : t -> min:t -> max:t -> t Base__.Or_error.t
type comparator_witness
val comparator : (t, comparator_witness) Base__.Comparator.comparator
Sourceval validate_lbound : min:t Core.Maybe_bound.t -> t Validate.check
Sourceval validate_ubound : max:t Core.Maybe_bound.t -> t Validate.check
Sourceval validate_bound : min:t Core.Maybe_bound.t -> max:t Core.Maybe_bound.t -> t Validate.check
Sourceval of_int : int -> t
Sourceval to_int_exn : t -> int
Sourceval empty : t
Sourceval (+) : t -> t -> t

set union, bitwise or

Sourceval (-) : 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.

Sourceval intersect : t -> t -> t

bitwise and

Sourceval complement : t -> t

bitwise not

Sourceval is_empty : t -> bool
Sourceval do_intersect : t -> t -> bool
Sourceval are_disjoint : t -> t -> bool
Sourceval is_subset : t -> of_:t -> bool

is_subset t ~of_ is t = intersect t of_

Sourcemodule Unstable : sig ... end
OCaml

Innovation. Community. Security.