pub struct MemOp {
pub operation: MemOpKind,
pub index: Witness,
pub value: Witness,
}Expand description
Operation on a block of memory We can either write or read at an index in memory
Fields§
§operation: MemOpKind§index: Witnessarray index, it must be less than the array length
value: Witnessthe witness we are reading into (read), or the witness whose value is written (write)
Implementations§
Source§impl MemOp
impl MemOp
Sourcepub fn read_at_mem_index(index: Witness, value: Witness) -> Self
pub fn read_at_mem_index(index: Witness, value: Witness) -> Self
Creates a MemOp which reads from memory at index and inserts the read value
into the WitnessMap at value.
Sourcepub fn write_to_mem_index(index: Witness, value: Witness) -> Self
pub fn write_to_mem_index(index: Witness, value: Witness) -> Self
Creates a MemOp which writes value into memory at index.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for MemOp
impl<'de> Deserialize<'de> for MemOp
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl MsgpackTagged for MemOp
impl MsgpackTagged for MemOp
Source§const TAGGED: Tagged
const TAGGED: Tagged
The wire shape of this type — either a
Product (struct/tuple
struct) or a Sum (enum). The derive macro emits this from
#[tag(N)] annotations; primitives and container types use a
Tagged::Product with empty fields, signalling they don’t appear
directly on the wire as a registry entry but still satisfy the bound.Source§fn register_into(_reg: &mut TagRegistry)
fn register_into(_reg: &mut TagRegistry)
Recursively register this type and every tagged field type into a registry. Read more
impl Eq for MemOp
impl StructuralPartialEq for MemOp
Auto Trait Implementations§
impl Freeze for MemOp
impl RefUnwindSafe for MemOp
impl Send for MemOp
impl Sync for MemOp
impl Unpin for MemOp
impl UnwindSafe for MemOp
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
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