pub enum Region<B> {
Constrained(Range<Address>, Arc<dyn Send + Sync + Fn(&mut Solver<'_, B>) -> Sym>),
Symbolic(Range<Address>),
SymbolicCode(Range<Address>),
Concrete(Range<Address>, HashMap<Address, u8>),
Custom(Range<Address>, Box<dyn Send + Sync + CustomRegion<B>>),
}Variants§
Constrained(Range<Address>, Arc<dyn Send + Sync + Fn(&mut Solver<'_, B>) -> Sym>)
A region with a symbolic value constrained by a symbolic variable generated by an arbitrary function. The region should return a bitvector variable representing the whole region, so in practice this should be used for small regions of memory.
Symbolic(Range<Address>)
A region of arbitrary symbolic locations
SymbolicCode(Range<Address>)
A read only region of arbitrary symbolic locations intended for code
Concrete(Range<Address>, HashMap<Address, u8>)
A region of concrete read-only memory
Custom(Range<Address>, Box<dyn Send + Sync + CustomRegion<B>>)
A custom region
Trait Implementations§
Auto Trait Implementations§
impl<B> Freeze for Region<B>
impl<B> !RefUnwindSafe for Region<B>
impl<B> Send for Region<B>
impl<B> Sync for Region<B>
impl<B> Unpin for Region<B>
impl<B> !UnwindSafe for Region<B>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more