multiversx_sc::io

Struct BytesArgLoader

Source
pub struct BytesArgLoader<A>
where A: ManagedTypeApi,
{ /* private fields */ }
Expand description

Consumes a vector of BoxedBytes and deserializes from the vector one by one.

Implementations§

Source§

impl<A> BytesArgLoader<A>
where A: ManagedTypeApi,

Source

pub fn new(bytes_vec: Vec<BoxedBytes>) -> Self

Trait Implementations§

Source§

impl<A> TopDecodeMultiInput for BytesArgLoader<A>

Source§

type ValueInput = Box<[u8]>

Source§

fn has_next(&self) -> bool

Check if there are more arguments that can be loaded.
Source§

fn next_value_input<H>( &mut self, h: H, ) -> Result<Self::ValueInput, H::HandledErr>

Retrieves an input for deserializing an argument. If the loader is out of arguments, it will crash by itself with an appropriate error, without returning. Use if the next argument is optional, use has_next beforehand.
Source§

fn flush_ignore<H>(&mut self, _h: H) -> Result<(), H::HandledErr>

Consumes all inputs and ignores them. After executing this, assert_no_more_args should not fail.
Source§

fn next_value<T, H>( &mut self, h: H, ) -> Result<T, <H as DecodeErrorHandler>::HandledErr>

Source§

fn assert_no_more_args<H>( &self, h: H, ) -> Result<(), <H as DecodeErrorHandler>::HandledErr>

Called after retrieving all arguments to validate that extra arguments were not provided.

Auto Trait Implementations§

§

impl<A> Freeze for BytesArgLoader<A>

§

impl<A> RefUnwindSafe for BytesArgLoader<A>
where A: RefUnwindSafe,

§

impl<A> Send for BytesArgLoader<A>
where A: Send,

§

impl<A> Sync for BytesArgLoader<A>
where A: Sync,

§

impl<A> Unpin for BytesArgLoader<A>
where A: Unpin,

§

impl<A> UnwindSafe for BytesArgLoader<A>
where A: UnwindSafe,

Blanket Implementations§

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, 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.