Module Available_ranges_vars.Range
The type of ranges. Each range is a list of subranges, so a possibly-discontiguous region of code.
The caller's information about the range.
val estimate_lowest_address :
Available_ranges_vars.Range.t ->
(Linear.label * int) optionEstimate 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 :
Available_ranges_vars.Range.t ->
init:'a ->
f:('a -> Available_ranges_vars.Subrange.t -> 'a) ->
'aFold over all subranges within the given range.
type get_singleton = private | No_ranges| One_subrange of Available_ranges_vars.Subrange.t| More_than_one_subrange
val get_singleton :
Available_ranges_vars.Range.t ->
Available_ranges_vars.Range.get_singleton