pub struct MutableMessage<'a, const N: usize, const WORDS: usize> { /* private fields */ }Expand description
Lazy mutable state for a generated message.
N is the number of schema fields and WORDS is the generated bitset
storage. Untouched fields continue to borrow their original encoded words.
Implementations§
Source§impl<'a, const N: usize, const WORDS: usize> MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> MutableMessage<'a, N, WORDS>
Sourcepub fn from_words(words: &'a [u32]) -> Option<Self>
pub fn from_words(words: &'a [u32]) -> Option<Self>
Creates lazy mutable state backed by a validated encoded message.
Sourcepub fn has_field(&self, id: usize) -> bool
pub fn has_field(&self, id: usize) -> bool
Returns whether a field exists in the source message or has been set.
Sourcepub fn was_accessed(&self, id: usize) -> bool
pub fn was_accessed(&self, id: usize) -> bool
Returns whether a generated accessor has materialized this field.
pub fn has_any_accessed(&self) -> bool
Sourcepub fn clean_words(&self) -> Option<&[u32]>
pub fn clean_words(&self) -> Option<&[u32]>
Returns the untouched source words, or None after any field access.
Sourcepub fn get_field<'b, T: MutableField<'a>>(
&mut self,
id: usize,
slot: &'b mut T,
) -> &'b mut T
pub fn get_field<'b, T: MutableField<'a>>( &mut self, id: usize, slot: &'b mut T, ) -> &'b mut T
Lazily decodes a field into its generated storage slot.
Sourcepub fn serialize_field<T: MutableField<'a>>(
&self,
id: usize,
field: &T,
buffer: &mut Buffer,
unit: &mut Unit,
) -> Result<(), MutableError>
pub fn serialize_field<T: MutableField<'a>>( &self, id: usize, field: &T, buffer: &mut Buffer, unit: &mut Unit, ) -> Result<(), MutableError>
Serializes one generated field, reusing untouched source words when safe.
Trait Implementations§
Source§impl<'a, const N: usize, const WORDS: usize> Clone for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> Clone for MutableMessage<'a, N, WORDS>
Source§fn clone(&self) -> MutableMessage<'a, N, WORDS>
fn clone(&self) -> MutableMessage<'a, N, WORDS>
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl<'a, const N: usize, const WORDS: usize> Freeze for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> RefUnwindSafe for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> Send for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> Sync for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> Unpin for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> UnsafeUnpin for MutableMessage<'a, N, WORDS>
impl<'a, const N: usize, const WORDS: usize> UnwindSafe for MutableMessage<'a, N, WORDS>
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