package grace

  1. Overview
  2. Docs
type t = private int

The type of indexes. An integer with the invariant that an index t satisfies t >= 0.

include Ppx_compare_lib.Equal.S with type t := t
include Ppx_compare_lib.Comparable.S with type t := t
include Ppx_hash_lib.Hashable.S with type t := t
val hash_fold_t : t Base__Ppx_hash_lib.hash_fold
val hash : t -> Base__Ppx_hash_lib.Std.Hash.hash_value
include Sexplib0.Sexpable.S with type t := t
val t_of_sexp : Sexplib0__.Sexp.t -> t
val sexp_of_t : t -> Sexplib0__.Sexp.t
include Core.Comparable.S with type t := t
include Base.Comparable.S with type t := t
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (=) : t -> t -> bool
val (>) : t -> t -> bool
val (<) : t -> t -> bool
val (<>) : t -> t -> bool
val equal : t -> t -> bool
val compare : t -> t -> int
val min : t -> t -> t
val max : t -> t -> t
val ascending : t -> t -> int
val descending : t -> t -> int
val between : t -> low:t -> high:t -> bool
val clamp_exn : t -> min:t -> max:t -> t
val clamp : t -> min:t -> max:t -> t Base__.Or_error.t
type comparator_witness
val comparator : (t, comparator_witness) Base__Comparator.comparator
val validate_lbound : min:t Core.Maybe_bound.t -> t Validate.check
val validate_ubound : max:t Core.Maybe_bound.t -> t Validate.check
val validate_bound : min:t Core.Maybe_bound.t -> max:t Core.Maybe_bound.t -> t Validate.check
module Replace_polymorphic_compare : sig ... end
include Core.Invariant.S with type t := t
val invariant : t Base__Invariant_intf.inv
include Core.Pretty_printer.S with type t := t
val pp : Base__.Formatter.t -> t -> unit
val to_string : t -> string
val of_int : int -> t

of_int n creates the index n.

  • raises Invalid_argument

    if n < 0.

val initial : t

initial is the initial index, namely 0.

val add : t -> int -> t

add t off adds the offset off to the index t.

val sub : t -> int -> t

sub t off subtracts the offset off from the index t.

val diff : t -> t -> int

diff t1 t2 returns the (potentially negative) difference between t1 and t2.

Support for Lexing

val of_lex : Stdlib.Lexing.position -> t

of_lex lex_pos returns the byte index from the lexing position lex_pos. It is equivalent to create (lex_pos.pos_cnum).

OCaml

Innovation. Community. Security.