Crate memory_range

Source
Expand description

The MemoryRange type, which represents a 4KB-page-aligned byte range of memory, plus algorithms operating on the type.

Structs§

AlignedSubranges
Iterator over aligned subranges of a memory range.
InvalidMemoryRange
Error returned by MemoryRange::try_new.
MemoryRange
Represents a page-aligned byte range of memory.

Enums§

RangeWalkResult
The result of an iteration of walk_ranges.

Functions§

flatten_ranges
Takes a sequence of memory ranges, sorted by their start address, and returns an iterator over the flattened ranges, where overlapping and adjacent ranges are merged and deduplicated.
merge_adjacent_ranges
Similar to flatten_ranges, but considers ranges non-equivalent if their associated tags differ.
overlapping_ranges
Returns an iterator over memory ranges that are in both left and right.
subtract_ranges
Returns an iterator over the ranges in left that are not in right.
walk_ranges
Returns an iterator that computes the overlapping state of the ranges in left and right.