Skip to main content

MessageHeaderUninitBuilder

Struct MessageHeaderUninitBuilder 

Source
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>

Source

pub const fn from_maybe_uninit_mut( inner: &'_wincode_inner mut MaybeUninit<MessageHeader>, ) -> Self

Source

pub const fn is_init(&self) -> bool

Check if the builder is fully initialized.

This will check if all field initialization bits are set.

Source

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

pub const fn finish(self)

Forget the builder, disabling the drop logic.

Source§

impl<'_wincode_inner, WincodeConfig: Config> MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>

Source

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.

Source

pub fn write_num_required_signatures( &mut self, val: <u8 as SchemaRead<'_, WincodeConfig>>::Dst, ) -> &mut Self

Write a value to the maybe uninitialized field.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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.

Source

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§

Source§

impl<'_wincode_inner, WincodeConfig: Config> Drop for MessageHeaderUninitBuilder<'_wincode_inner, WincodeConfig>

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

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> AbiExample for T

Source§

default fn example() -> T

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V