IntervalMap Module
Provides functions for creating or manipulating interval maps.
Functions and values
| Function or value |
Description
|
Full Usage:
IntervalMap.add i v arg3
Parameters:
AddrRange
v : 'a
arg2 : IntervalMap<'a>
Returns: IntervalMap<'a>
Type parameters: 'a |
Adds a mapping to the interval map. Overlapping intervals are allowed, but an exact duplicate range is not.
|
Full Usage:
IntervalMap.addOrReplace i v m
Parameters:
AddrRange
v : 'V
m : IntervalMap<'V>
Returns: IntervalMap<'V>
Type parameters: 'V |
Adds a new mapping to the IntervalMap in case there is no exactly matching interval. If there is a matching interval, this function will replace the existing mapping with the new one.
|
Full Usage:
IntervalMap.containsAddr addr m
Parameters:
Addr
m : IntervalMap<'a>
Returns: bool
Type parameters: 'a |
Checks whether the given address exists in the interval tree.
|
Full Usage:
IntervalMap.containsRange range m
Parameters:
AddrRange
m : IntervalMap<'V>
Returns: bool
Type parameters: 'V |
Checks whether the exact range exists in the interval tree.
|
Full Usage:
IntervalMap.count arg1
Parameters:
IntervalMap<'V>
Returns: int
Type parameters: 'V |
|
|
Empty interval tree.
|
Full Usage:
IntervalMap.findAll range m
Parameters:
AddrRange
m : IntervalMap<'a>
Returns: 'a list
Type parameters: 'a |
Finds all values whose intervals overlap with the given range.
|
Full Usage:
IntervalMap.findExactlyOne range m
Parameters:
AddrRange
m : IntervalMap<'a>
Returns: 'a
Type parameters: 'a |
Finds the value whose interval exactly matches the given range when there is exactly one matching interval; raises KeyNotFoundException otherwise.
|
Full Usage:
IntervalMap.findExactlyOneByMin addr m
Parameters:
Addr
m : IntervalMap<'a>
Returns: 'a
Type parameters: 'a |
Finds the value whose interval has the same low bound (Min) as the given address when there is exactly one such interval; raises KeyNotFoundException otherwise.
|
Full Usage:
IntervalMap.findOverlappingOne range m
Parameters:
AddrRange
m : IntervalMap<'a>
Returns: 'a
Type parameters: 'a |
Finds the value whose interval overlaps with the given range when there is exactly one such interval; raises KeyNotFoundException otherwise.
|
Full Usage:
IntervalMap.findOverlappingOneByAddr addr m
Parameters:
Addr
m : IntervalMap<'a>
Returns: 'a
Type parameters: 'a |
Finds the value whose interval contains the given address when there is exactly one such interval; raises KeyNotFoundException otherwise.
|
Full Usage:
IntervalMap.fold fn acc arg3
Parameters:
'a -> AddrRange -> 'V -> 'a
acc : 'a
arg2 : IntervalMap<'V>
Returns: 'a
Type parameters: 'a, 'V |
Folds the elements of the interval map.
|
|
|
Full Usage:
IntervalMap.iter fn m
Parameters:
AddrRange -> 'a -> unit
m : IntervalMap<'a>
Type parameters: 'a |
Iterates the elements of the interval map.
|
Full Usage:
IntervalMap.overlapsRange range arg2
Parameters:
AddrRange
arg1 : IntervalMap<'a>
Returns: bool
Type parameters: 'a |
Checks whether the given address interval overlaps with any of the intervals in the interval map.
|
Full Usage:
IntervalMap.remove i arg2
Parameters:
AddrRange
arg1 : IntervalMap<'a>
Returns: IntervalMap<'a>
Type parameters: 'a |
Removes the interval that exactly matches the given range. Raises InvalidAddrRangeException if there is no such interval.
|
Full Usage:
IntervalMap.replace i v arg3
Parameters:
AddrRange
v : 'V
arg2 : IntervalMap<'V>
Returns: IntervalMap<'V>
Type parameters: 'V |
Replaces the value for the interval that exactly matches the given range. Raises InvalidAddrRangeException if there is no such interval.
|
Full Usage:
IntervalMap.tryFindExactlyOne range m
Parameters:
AddrRange
m : IntervalMap<'V>
Returns: 'V option
Type parameters: 'V |
Finds the value whose interval exactly matches the given range only when there is exactly one matching interval.
|
Full Usage:
IntervalMap.tryFindExactlyOneByMin addr arg2
Parameters:
Addr
arg1 : IntervalMap<'a>
Returns: 'a option
Type parameters: 'a |
Finds the value whose interval has the same low bound (Min) as the given address only when there is exactly one matching interval.
|
Full Usage:
IntervalMap.tryFindOverlappingOne range m
Parameters:
AddrRange
m : IntervalMap<'a>
Returns: 'a option
Type parameters: 'a |
Finds the value whose interval overlaps with the given range only when there is exactly one such interval.
|
Full Usage:
IntervalMap.tryFindOverlappingOneByAddr addr m
Parameters:
Addr
m : IntervalMap<'a>
Returns: 'a option
Type parameters: 'a |
Finds the value whose interval contains the given address only when there is exactly one such interval.
|
B2R2