pub trait NestedEncode: Sized {
    // Provided methods
    fn dep_encode<O>(&self, dest: &mut O) -> Result<(), EncodeError>
       where O: NestedEncodeOutput { ... }
    fn dep_encode_or_handle_err<O, H>(
        &self,
        dest: &mut O,
        h: H
    ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>
       where O: NestedEncodeOutput,
             H: EncodeErrorHandler { ... }
}
Expand description

Trait that allows zero-copy write of value-references to slices in LE format.

Implementations should override using_top_encoded for value types and dep_encode and size_hint for allocating types. Wrapper types should override all methods.

Provided Methods§

source

fn dep_encode<O>(&self, dest: &mut O) -> Result<(), EncodeError>

NestedEncode to output, using the format of an object nested inside another structure. Does not provide compact version.

source

fn dep_encode_or_handle_err<O, H>( &self, dest: &mut O, h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

Version of dep_encode that can handle errors as soon as they occur. For instance in can exit immediately and make sure that if it returns, it is a success. By not deferring error handling, this can lead to somewhat smaller bytecode.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl NestedEncode for &str

source§

impl NestedEncode for bool

source§

impl NestedEncode for i8

source§

impl NestedEncode for i16

source§

impl NestedEncode for i32

source§

impl NestedEncode for i64

source§

impl NestedEncode for isize

source§

impl NestedEncode for u8

source§

impl NestedEncode for u16

source§

impl NestedEncode for u32

source§

impl NestedEncode for u64

source§

impl NestedEncode for ()

source§

impl NestedEncode for usize

source§

impl NestedEncode for NonZero<usize>

source§

impl NestedEncode for BigInt

source§

impl NestedEncode for BigUint

source§

impl<T0> NestedEncode for (T0,)
where T0: NestedEncode,

source§

impl<T0, T1> NestedEncode for (T0, T1)
where T0: NestedEncode, T1: NestedEncode,

source§

impl<T0, T1, T2> NestedEncode for (T0, T1, T2)

source§

impl<T0, T1, T2, T3> NestedEncode for (T0, T1, T2, T3)

source§

impl<T0, T1, T2, T3, T4> NestedEncode for (T0, T1, T2, T3, T4)

source§

impl<T0, T1, T2, T3, T4, T5> NestedEncode for (T0, T1, T2, T3, T4, T5)

source§

impl<T0, T1, T2, T3, T4, T5, T6> NestedEncode for (T0, T1, T2, T3, T4, T5, T6)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14)

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15> NestedEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

impl<T> NestedEncode for &[T]
where T: NestedEncode,

source§

impl<T> NestedEncode for Option<T>
where T: NestedEncode,

source§

impl<T> NestedEncode for &T
where T: NestedEncode,

source§

impl<T> NestedEncode for PhantomData<T>

source§

impl<T, const N: usize> NestedEncode for [T; N]
where T: NestedEncode,

Implementors§

source§

impl NestedEncode for EsdtLocalRole

source§

impl NestedEncode for EsdtTokenType

source§

impl NestedEncode for MessageHashType

source§

impl NestedEncode for Sign

source§

impl NestedEncode for Address

source§

impl NestedEncode for Box<str>

source§

impl NestedEncode for BoxedBytes

source§

impl NestedEncode for H256

source§

impl NestedEncode for String

source§

impl NestedEncode for CodeMetadata

source§

impl NestedEncode for Empty

source§

impl<'a, M, T> NestedEncode for ManagedRef<'a, M, T>

source§

impl<E, const CAPACITY: usize> NestedEncode for SparseArray<E, CAPACITY>
where E: ErrorApi,

source§

impl<M> NestedEncode for ManagedAddress<M>
where M: ManagedTypeApi,

source§

impl<M> NestedEncode for ManagedArgBuffer<M>
where M: ManagedTypeApi,

source§

impl<M, T> NestedEncode for ManagedOption<M, T>

source§

impl<M, T> NestedEncode for ManagedVec<M, T>

source§

impl<M, const N: usize> NestedEncode for ManagedByteArray<M, N>
where M: ManagedTypeApi,

source§

impl<M: ManagedTypeApi> NestedEncode for EgldOrMultiEsdtPayment<M>

source§

impl<M: ManagedTypeApi> NestedEncode for BigFloat<M>

source§

impl<M: ManagedTypeApi> NestedEncode for multiversx_sc::types::BigInt<M>

source§

impl<M: ManagedTypeApi> NestedEncode for multiversx_sc::types::BigUint<M>

source§

impl<M: ManagedTypeApi> NestedEncode for EgldOrEsdtTokenIdentifier<M>

source§

impl<M: ManagedTypeApi> NestedEncode for EgldOrEsdtTokenPayment<M>

source§

impl<M: ManagedTypeApi> NestedEncode for EllipticCurve<M>

source§

impl<M: ManagedTypeApi> NestedEncode for EsdtTokenData<M>

source§

impl<M: ManagedTypeApi> NestedEncode for EsdtTokenPayment<M>

source§

impl<M: ManagedTypeApi> NestedEncode for ManagedBuffer<M>

source§

impl<M: ManagedTypeApi> NestedEncode for TokenIdentifier<M>

source§

impl<T> NestedEncode for Box<[T]>
where T: NestedEncode,

source§

impl<T> NestedEncode for Box<T>
where T: NestedEncode,

source§

impl<T> NestedEncode for Vec<T>
where T: NestedEncode,

source§

impl<T, const CAP: usize> NestedEncode for ArrayVec<T, CAP>
where T: NestedEncode,

source§

impl<T: NestedEncode + NestedDecode + TopEncode + TopDecode + Clone> NestedEncode for LinkedListNode<T>

source§

impl<T: NestedEncode> NestedEncode for Queue<T>

Serializes identically to a Vec, entries before start index are ignored.