Trait multiversx_sc_snippets::imports::ArgNestedTuple

source ·
pub trait ArgNestedTuple<AA>{
    type ArgNames;

    // Required methods
    fn check_num_single_args(index: i32);
    fn next_single_arg(index: i32, arg_names: Self::ArgNames) -> Self;
    fn next_multi_arg<L>(loader: L, arg_names: Self::ArgNames) -> Self
       where L: TopDecodeMultiInput;
}
Expand description

Models an argument tree of the form (arg1, (arg2, ... (argn, ()))), used for retrieving endpoint arguments.

It translates to a small algorithm determined at compile-time. That is why all methods are inlined.

Required Associated Types§

Required Methods§

source

fn check_num_single_args(index: i32)

source

fn next_single_arg(index: i32, arg_names: Self::ArgNames) -> Self

source

fn next_multi_arg<L>(loader: L, arg_names: Self::ArgNames) -> Self

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<AA> ArgNestedTuple<AA> for ()

§

type ArgNames = ()

source§

fn check_num_single_args(index: i32)

source§

fn next_single_arg( _index: i32, _arg_names: <() as ArgNestedTuple<AA>>::ArgNames )

source§

fn next_multi_arg<L>( loader: L, _arg_names: <() as ArgNestedTuple<AA>>::ArgNames )

source§

impl<AA, Head, Tail> ArgNestedTuple<AA> for (Head, Tail)

Implementors§