Official release 4.12.1
type t

The type of ranges. Each range is a list of subranges, so a possibly-discontiguous region of code.

val info : t -> S.Range_info.t

The caller's information about the range.

val estimate_lowest_address : t -> (Linear.label * int) option

Estimate the pair of (start_pos, start_pos_offset) (c.f. Subrange, above) found amongst the given ranges that yields the lowest machine address. The assumption is made that no start_pos_offset or end_pos_offset will cause the corresponding extremity of a range to cross an extremity of any other range. (This should be satisfied in typical uses because the offsets are typically zero or one.) If there are no ranges supplied then None is returned.

val fold : t -> init:'a -> f:( 'a -> Subrange.t -> 'a ) -> 'a

Fold over all subranges within the given range.