module Tr_offset:sig..end
type t = private
| |
Invalid |
(* |
No location is valid
| *) |
| |
Set of |
(* |
Limited number of locations
| *) |
| |
Interval of |
|||
| |
Overlap of |
(* |
The location covers the entire range
min..max,
but consecutive offsets overlap | *) |
val trim_by_validity : ?origin:Origin.t ->
Ival.t -> Integer.t -> Base.validity -> bool * ttrim_by_validity ?origin offsets size validity reduces offsets so that
all accesses to offsets+(0..size-1) are valid according to validity.
The returned boolean indicates that at least one of the offsets does not
comply with validity. If the valid offsets cannot be represented
precisely, the Imprecise constructor is returned. When specified,
the origin argument is used as the source of this imprecision .