module type S =sig..end
type base_u
Raw unbounded type
type u
BatBounded.S.base_u after bounding constraints have been applied
typet = privateu
Private version of BatBounded.S.u to avoid construction of BatBounded.S.t values without
using make below.
val bounds : base_u BatBounded.bound_t *
base_u BatBounded.bound_tbounds defines the (min, max) bounds for the bounded range
val make : base_u -> tmake x will return a value of type BatBounded.S.t derived from x.
val extract : t -> uextract x will return x as a value of type BatBounded.S.u. A similar result
could be achieved with (x :> u)
val map : (base_u -> base_u) ->
t -> t optionmap f x applies f to x. Returns Some y if x can be converted
back to type BatBounded.S.base_u, otherwise returns None.
val map2 : (base_u -> base_u -> base_u) ->
t -> t -> t optionmap2 f x y applies f to x and y. Returns Some z if x and y
can be converted back to type BatBounded.S.base_u, otherwise returns None.
val map_exn : (base_u -> base_u) ->
t -> tmap_exn f x applies f to x. Returns y if x can be converted
back to type BatBounded.S.base_u, otherwise raise an exception.
val map2_exn : (base_u -> base_u -> base_u) ->
t -> t -> tmap2_exn f x y applies f to x and y. Returns z if x and y
can be converted back to type BatBounded.S.base_u, otherwise raise an exception.