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 * t
trim_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 .