Struct ComplexJitStateBuilder
pub struct ComplexJitStateBuilder<'a, 's, A: Arch, M: MappableArea> { /* private fields */ }
Expand description
A builder for ComplexJitState
.
Implementations§
§impl<'a, A: Arch, M: MappableArea> ComplexJitStateBuilder<'a, '_, A, M>
impl<'a, A: Arch, M: MappableArea> ComplexJitStateBuilder<'a, '_, A, M>
pub fn as_original_system_state(&self) -> ComplexStateRef<'_, A>
pub fn as_original_system_state(&self) -> ComplexStateRef<'_, A>
Returns a ComplexStateRef
that will give the original base state passed to ComplexJitState::build
.
pub fn create(
&self,
bytes_affected: &[StateByte],
create: impl FnOnce(&mut SystemState<A>) -> bool,
) -> Option<ComplexJitState<'a, A>>
pub fn create( &self, bytes_affected: &[StateByte], create: impl FnOnce(&mut SystemState<A>) -> bool, ) -> Option<ComplexJitState<'a, A>>
Creates a new state that uses the same shared base state.
The bytes changed must be declared in bytes_affected
, relative to the base state.
If any bytes outside the bytes in bytes_affected
are changed, behavior is unspecified.
The bytes_affected
list may be different for every call.
pub fn create_with_change_list(
&self,
bytes_affected: &[StateByte],
new_values: impl Iterator<Item = u8>,
) -> Option<ComplexJitState<'a, A>>
pub fn create_with_change_list( &self, bytes_affected: &[StateByte], new_values: impl Iterator<Item = u8>, ) -> Option<ComplexJitState<'a, A>>
Same as Self::create
, but uses the values from new_values
zipped with bytes_affected
instead of calling a function to modify the state.
Auto Trait Implementations§
impl<'a, 's, A, M> Freeze for ComplexJitStateBuilder<'a, 's, A, M>
impl<'a, 's, A, M> !RefUnwindSafe for ComplexJitStateBuilder<'a, 's, A, M>
impl<'a, 's, A, M> !Send for ComplexJitStateBuilder<'a, 's, A, M>
impl<'a, 's, A, M> !Sync for ComplexJitStateBuilder<'a, 's, A, M>
impl<'a, 's, A, M> Unpin for ComplexJitStateBuilder<'a, 's, A, M>
impl<'a, 's, A, M> !UnwindSafe for ComplexJitStateBuilder<'a, 's, A, M>
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
§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more