pub struct MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig: Config> { /* private fields */ }Expand description
A helper struct that provides convenience methods for reading and writing to a MaybeUninit struct
with a bit-set tracking the initialization state of the fields.
The builder will drop all initialized fields in reverse order on drop. When the struct is fully initialized,
you must call finish or into_assume_init_mut to forget the builder. Otherwise, all the
initialized fields will be dropped when the builder is dropped.
Implementations§
Source§impl<'_wincode_inner, WincodeConfig: Config> MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
impl<'_wincode_inner, WincodeConfig: Config> MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
pub const fn from_maybe_uninit_mut( inner: &'_wincode_inner mut MaybeUninit<MessageHeader>, ) -> Self
Sourcepub const fn is_init(&self) -> bool
pub const fn is_init(&self) -> bool
Check if the builder is fully initialized.
This will check if all field initialization bits are set.
Sourcepub unsafe fn into_assume_init_mut(self) -> &'_wincode_inner mut MessageHeader
pub unsafe fn into_assume_init_mut(self) -> &'_wincode_inner mut MessageHeader
Assume the builder is fully initialized, and return a mutable reference to the inner MaybeUninit struct.
The builder will be forgotten, so the drop logic will not longer run.
§Safety
Calling this when the content is not yet fully initialized causes undefined behavior: it is up to the caller
to guarantee that the MaybeUninit<T> really is in an initialized state.
Source§impl<'_wincode_inner, WincodeConfig: Config> MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
impl<'_wincode_inner, WincodeConfig: Config> MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
Sourcepub const fn uninit_num_required_signatures_mut(
&mut self,
) -> &mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>
pub const fn uninit_num_required_signatures_mut( &mut self, ) -> &mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>
Get a mutable reference to the maybe uninitialized field.
Sourcepub fn write_num_required_signatures(
&mut self,
val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst,
) -> &mut Self
pub fn write_num_required_signatures( &mut self, val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst, ) -> &mut Self
Write a value to the maybe uninitialized field.
Sourcepub fn read_num_required_signatures<'de>(
&mut self,
reader: impl Reader<'de>,
) -> ReadResult<&mut Self>
pub fn read_num_required_signatures<'de>( &mut self, reader: impl Reader<'de>, ) -> ReadResult<&mut Self>
Read a value from the reader into the maybe uninitialized field.
Sourcepub unsafe fn init_num_required_signatures_with(
&mut self,
initializer: impl FnMut(&mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>) -> ReadResult<()>,
) -> ReadResult<&mut Self>
pub unsafe fn init_num_required_signatures_with( &mut self, initializer: impl FnMut(&mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>) -> ReadResult<()>, ) -> ReadResult<&mut Self>
Initialize the field with a given initializer function.
§Safety
The caller must guarantee that the initializer function fully initializes the field.
Sourcepub const unsafe fn assume_init_num_required_signatures(&mut self) -> &mut Self
pub const unsafe fn assume_init_num_required_signatures(&mut self) -> &mut Self
Mark the field as initialized.
§Safety
Caller must guarantee the field has been fully initialized prior to calling this.
Sourcepub const fn uninit_num_readonly_signed_accounts_mut(
&mut self,
) -> &mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>
pub const fn uninit_num_readonly_signed_accounts_mut( &mut self, ) -> &mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>
Get a mutable reference to the maybe uninitialized field.
Sourcepub fn write_num_readonly_signed_accounts(
&mut self,
val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst,
) -> &mut Self
pub fn write_num_readonly_signed_accounts( &mut self, val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst, ) -> &mut Self
Write a value to the maybe uninitialized field.
Sourcepub fn read_num_readonly_signed_accounts<'de>(
&mut self,
reader: impl Reader<'de>,
) -> ReadResult<&mut Self>
pub fn read_num_readonly_signed_accounts<'de>( &mut self, reader: impl Reader<'de>, ) -> ReadResult<&mut Self>
Read a value from the reader into the maybe uninitialized field.
Sourcepub unsafe fn init_num_readonly_signed_accounts_with(
&mut self,
initializer: impl FnMut(&mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>) -> ReadResult<()>,
) -> ReadResult<&mut Self>
pub unsafe fn init_num_readonly_signed_accounts_with( &mut self, initializer: impl FnMut(&mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>) -> ReadResult<()>, ) -> ReadResult<&mut Self>
Initialize the field with a given initializer function.
§Safety
The caller must guarantee that the initializer function fully initializes the field.
Sourcepub const unsafe fn assume_init_num_readonly_signed_accounts(
&mut self,
) -> &mut Self
pub const unsafe fn assume_init_num_readonly_signed_accounts( &mut self, ) -> &mut Self
Mark the field as initialized.
§Safety
Caller must guarantee the field has been fully initialized prior to calling this.
Sourcepub const fn uninit_num_readonly_unsigned_accounts_mut(
&mut self,
) -> &mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>
pub const fn uninit_num_readonly_unsigned_accounts_mut( &mut self, ) -> &mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>
Get a mutable reference to the maybe uninitialized field.
Sourcepub fn write_num_readonly_unsigned_accounts(
&mut self,
val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst,
) -> &mut Self
pub fn write_num_readonly_unsigned_accounts( &mut self, val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst, ) -> &mut Self
Write a value to the maybe uninitialized field.
Sourcepub fn read_num_readonly_unsigned_accounts<'de>(
&mut self,
reader: impl Reader<'de>,
) -> ReadResult<&mut Self>
pub fn read_num_readonly_unsigned_accounts<'de>( &mut self, reader: impl Reader<'de>, ) -> ReadResult<&mut Self>
Read a value from the reader into the maybe uninitialized field.
Sourcepub unsafe fn init_num_readonly_unsigned_accounts_with(
&mut self,
initializer: impl FnMut(&mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>) -> ReadResult<()>,
) -> ReadResult<&mut Self>
pub unsafe fn init_num_readonly_unsigned_accounts_with( &mut self, initializer: impl FnMut(&mut MaybeUninit<<u8 as SchemaRead<'_, WincodeConfig>>::Dst>) -> ReadResult<()>, ) -> ReadResult<&mut Self>
Initialize the field with a given initializer function.
§Safety
The caller must guarantee that the initializer function fully initializes the field.
Sourcepub const unsafe fn assume_init_num_readonly_unsigned_accounts(
&mut self,
) -> &mut Self
pub const unsafe fn assume_init_num_readonly_unsigned_accounts( &mut self, ) -> &mut Self
Mark the field as initialized.
§Safety
Caller must guarantee the field has been fully initialized prior to calling this.
Trait Implementations§
Auto Trait Implementations§
impl<'_wincode_inner, WincodeConfig> Freeze for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
impl<'_wincode_inner, WincodeConfig> RefUnwindSafe for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>where
WincodeConfig: RefUnwindSafe,
impl<'_wincode_inner, WincodeConfig> Send for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>where
WincodeConfig: Send,
impl<'_wincode_inner, WincodeConfig> Sync for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>where
WincodeConfig: Sync,
impl<'_wincode_inner, WincodeConfig> Unpin for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>where
WincodeConfig: Unpin,
impl<'_wincode_inner, WincodeConfig> UnsafeUnpin for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
impl<'_wincode_inner, WincodeConfig> !UnwindSafe for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>
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
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>
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>
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