Trait yaxpeax_core::memory::MemoryRange [−][src]
pub trait MemoryRange<A: Arch + ?Sized> where
Self: MemoryRepr<A>, {
fn range<'a>(
&'a self,
range: Range<A::Address>
) -> Option<ReadCursor<'a, A, Self>>;
fn range_from<'a>(
&'a self,
start: A::Address
) -> Option<ReadCursor<'a, A, Self>>;
}
Required methods
a cursor to read data contained in range
. this willfully misinterprets std::ops::Range
to be inclusive on both ends, rather than [inclusive, exclusive)
as the docs say. this
is, for the time being, necessary because yaxpeax consistently uses ranges that are
inclusive on both ends. yaxpeax must represent [inclusive, exclusive)
ranges most clearly
because this significantly simplifies expressing a basic block that ends at the end of its
architecture’s address space.