Module Bounded.Non_negative_int32

Allows to build interval of non negative int32 integers. The encoding used is Data_encoding.int32 regardless of the actual bounds.

type t

Internal representation of a bounded value.

include BOUNDS with type ocaml_type := int32
val min_value : int32

min_value represents the minimal value (included) reprensatable.

val max_value : int32

max_value represents the maximal value (included) reprensatable.

include Mavryk_stdlib.Compare.S with type t := t
val (=) : t -> t -> bool

x = y iff compare x y = 0

val (<>) : t -> t -> bool

x <> y iff compare x y <> 0

val (<) : t -> t -> bool

x < y iff compare x y < 0

val (<=) : t -> t -> bool

x <= y iff compare x y <= 0

val (>=) : t -> t -> bool

x >= y iff compare x y >= 0

val (>) : t -> t -> bool

x > y iff compare x y > 0

val compare : t -> t -> int

compare an alias for the functor parameter's compare function

val equal : t -> t -> bool

equal x y iff compare x y = 0

val max : t -> t -> t

max x y is x if x >= y otherwise it is y

val min : t -> t -> t

min x y is x if x <= y otherwise it is y

val encoding : t Data_encoding.t

A (partial) encoding of the datatype. If the encoded value is out of bounds, an exception may be raised. See Data_encoding.conv_with_guard.

val pp : Stdlib.Format.formatter -> t -> unit

A pretty-printer for values of type t.

val to_value : t -> int32

to_value t is a projection to the OCaml representation of the bounded value t.

val of_value : int32 -> t option

of_value ocaml_value represents ocaml_value as a bounded value. Returns None if the value is outside of the bounds specified by min_value and max_value.