Trait multiversx_sc_snippets::imports::TopEncode

source ·
pub trait TopEncode: Sized {
    // Provided methods
    fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>
       where O: TopEncodeOutput { ... }
    fn top_encode_or_handle_err<O, H>(
        &self,
        output: O,
        h: H
    ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>
       where O: TopEncodeOutput,
             H: EncodeErrorHandler { ... }
}

Provided Methods§

source

fn top_encode<O>(&self, output: O) -> Result<(), EncodeError>
where O: TopEncodeOutput,

Attempt to serialize the value to ouput.

source

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

Version of top_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 TopEncode for &str

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for bool

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for i8

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for i16

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for i32

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for i64

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for isize

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for u8

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for u16

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for u32

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for u64

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for usize

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

impl TopEncode for NonZero<usize>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10> TopEncode 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> TopEncode 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> TopEncode 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> TopEncode 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> TopEncode 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> TopEncode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15)

source§

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

source§

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

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

Allow None to be serialized to empty bytes, but leave the leading “1” for Some, to allow disambiguation between e.g. Some(0) and None.

source§

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

source§

impl<T> TopEncode for PhantomData<T>

Empty structure with an empty bytes representation. Equivalent to false, 0 or [u8; 0], but more explicit.

Note: the unit type () would have naturally fit this role, but we decided to make the unit type multi-value only.

source§

fn top_encode_or_handle_err<O, H>( &self, output: O, _h: H ) -> Result<(), <H as EncodeErrorHandler>::HandledErr>

source§

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

Implementors§

source§

impl TopEncode for EsdtLocalRole

source§

impl TopEncode for EsdtTokenType

source§

impl TopEncode for MessageHashType

source§

impl TopEncode for OperationCompletionStatus

source§

impl TopEncode for Sign

source§

impl TopEncode for multiversx_sc_snippets::imports::num_bigint::BigInt

source§

impl TopEncode for Address

source§

impl TopEncode for Bech32Address

source§

impl TopEncode for Box<str>

source§

impl TopEncode for BoxedBytes

source§

impl TopEncode for CodeMetadata

source§

impl TopEncode for ESDTSystemSCAddress

source§

impl TopEncode for Empty

source§

impl TopEncode for H256

source§

impl TopEncode for multiversx_sc_snippets::imports::RustBigUint

source§

impl TopEncode for String

source§

impl<'a> TopEncode for TestAddress<'a>

source§

impl<'a> TopEncode for TestSCAddress<'a>

source§

impl<'a> TopEncode for TestTokenIdentifier<'a>

source§

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

source§

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

source§

impl<M> TopEncode for EgldOrMultiEsdtPayment<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for TokenMapperState<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for BigFloat<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for multiversx_sc_snippets::imports::BigInt<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for multiversx_sc_snippets::imports::BigUint<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for CallbackClosure<M>

source§

impl<M> TopEncode for EgldOrEsdtTokenIdentifier<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for EgldOrEsdtTokenPayment<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for EllipticCurve<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for EsdtTokenData<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for EsdtTokenPayment<M>
where M: ManagedTypeApi,

source§

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

source§

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

source§

impl<M> TopEncode for ManagedBuffer<M>
where M: ManagedTypeApi,

source§

impl<M> TopEncode for TokenIdentifier<M>
where M: ManagedTypeApi,

source§

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

source§

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

source§

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

source§

impl<P> TopEncode for ContractInfo<P>
where P: ProxyObjNew,

source§

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

source§

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

source§

impl<T> TopEncode for LinkedListNode<T>

source§

impl<T> TopEncode for OrderedBinaryTreeNode<T>

source§

impl<T> TopEncode for Queue<T>
where T: NestedEncode,

source§

impl<T> TopEncode for SingleValue<T>
where T: TopEncode + TopDecode,

source§

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

source§

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