Module Mavryk_raw_protocol_alpha.Slot_repr

Slot index representation

Abstract type

type t

A slot index is in essence a bounded whole number. That is, it is not allowed to overflow max_value, nor does it wrap when calling succ max_value. In this case it returns an Invalid_slot error.

type slot = t

Constructors

val zero : t
val max_value : t

Upper bound on the value a slot index can take

of_int i creates a slot index from integer i.

  • returns

    Error (Invalid_slot i) if i < 0 || i > max_value, and Ok slot otherwise

val of_int_do_not_use_except_for_parameters : int -> t

of_int_do_not_use_except_for_parameters i is an unchecked construction function.

It may be used in cases where one knows 0 <= i <= max_value, e.g., when creating protocol parameters.

When in doubt, use of_int or of_int_exn.

Operator and pretty-printer

succ n either returns an Invalid_slot error if n is max_value or ok value otherwise.

Conversion/Printing

val to_int : t -> int

to_int slot returns the integral representation of a slot index. This value is always a whole number.

Submodules

include Mavryk_protocol_environment_alpha.Compare.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 compare : t -> t -> int
val equal : t -> t -> bool
val max : t -> t -> t
val min : t -> t -> t
module Range : sig ... end
module Internal_for_tests : sig ... end