Module Core_kernel.Day_of_week
Provides a variant type for days of the week (Mon
, Tue
, etc.) and convenience functions for converting these days into other formats, like seconds since the epoch.
include Bin_prot.Binable.S with type t := t
include Bin_prot.Binable.S_only_functions with type t := t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
This function only needs implementation if
t
exposed to be a polymorphic variant. Despite what the type reads, this does *not* produce a function after reading; instead it takes the constructor tag (int) before reading and reads the rest of the variantt
afterwards.
val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
val compare : t -> t -> Core_kernel__.Import.int
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
val quickcheck_generator : t Base_quickcheck.Generator.t
val quickcheck_observer : t Base_quickcheck.Observer.t
val quickcheck_shrinker : t Base_quickcheck.Shrinker.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 Comparable.S_binable 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
include Core_kernel__.Comparable_intf.Map_and_set_binable with type t := t with type comparator_witness := comparator_witness
include Comparator.S with type t := t
val comparator : (t, comparator_witness) Comparator.comparator
module Map : Map.S_binable with type Key.t = t with type Key.comparator_witness = comparator_witness
module Set : Set.S_binable with type Elt.t = t with type Elt.comparator_witness = comparator_witness
include Hashable.S_binable with type t := t
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
val hashable : t Hashtbl.Hashable.t
module Table : Hashtbl.S_binable with type key = t
module Hash_set : Hash_set.S_binable with type elt = t
module Hash_queue : Hash_queue.S with type key = t
of_string s
accepts three-character abbreviations and full day names with any capitalization, and strings of the integers 0-6.
include Core_kernel__.Import.Stringable.S with type t := t
val to_string_long : t -> Core_kernel__.Import.string
Capitalized full day names rather than all-caps 3-letter abbreviations.
val of_int_exn : Core_kernel__.Import.int -> t
These use the same mapping as
Unix.tm_wday
: 0 <-> Sun, ... 6 <-> Sat
val of_int : Core_kernel__.Import.int -> t Core_kernel__.Import.option
val to_int : t -> Core_kernel__.Import.int
val iso_8601_weekday_number : t -> Core_kernel__.Import.int
As per ISO 8601, Mon->1, Tue->2, ... Sun->7
val shift : t -> Core_kernel__.Import.int -> t
shift
goes forward (or backward) the specified number of weekdays.
val num_days : from:t -> to_:t -> Core_kernel__.Import.int
num_days ~from ~to_
gives the number of days that must elapse from afrom
to get to ato_
, i.e., the smallest non-negative numberi
such thatshift from i = to_
.
val is_sun_or_sat : t -> Core_kernel__.Import.bool
val all : t Core_kernel__.Import.list
val weekdays : t Core_kernel__.Import.list
Mon; Tue; Wed; Thu; Fri
val weekends : t Core_kernel__.Import.list
Sat; Sun
module Stable : sig ... end