pub trait ArgNestedTuple<AA>where
    AA: EndpointArgumentApi + ManagedTypeApi + ErrorApi,{
    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: TopDecodeMultiInput>(
        loader: L,
        arg_names: Self::ArgNames
    ) -> Self;
}
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: TopDecodeMultiInput>( loader: L, arg_names: Self::ArgNames ) -> Self

Implementations on Foreign Types§

source§

impl<AA> ArgNestedTuple<AA> for ()where AA: EndpointArgumentApi + ManagedTypeApi + ErrorApi,

§

type ArgNames = ()

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: TopDecodeMultiInput>( loader: L, _arg_names: Self::ArgNames ) -> Self

source§

impl<AA, Head, Tail> ArgNestedTuple<AA> for (Head, Tail)where AA: EndpointArgumentApi + ManagedTypeApi + ErrorApi, Head: TopDecodeMulti, Tail: ArgNestedTuple<AA>,

§

type ArgNames = (&'static str, <Tail as ArgNestedTuple<AA>>::ArgNames)

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: TopDecodeMultiInput>( loader: L, arg_names: Self::ArgNames ) -> Self

Implementors§