Struct ink_env::call::utils::ArgumentList[][src]

pub struct ArgumentList<Head, Rest> { /* fields omitted */ }

An argument list.

This type is constructed mainly at compile type via type constructions to avoid having to allocate heap memory while constructing the encoded arguments. The potentially heap allocating encoding is done right at the end where we can leverage the static environmental buffer instead of allocating heap memory.

Implementations

impl ArgumentList<ArgumentListEnd, ArgumentListEnd>[src]

pub fn empty() -> EmptyArgumentList[src]

Creates a new empty argument list.

pub fn push_arg<T>(self, arg: T) -> ArgumentList<Argument<T>, Self> where
    T: Encode
[src]

Pushes the first argument to the empty argument list.

impl<Head, Rest> ArgumentList<Argument<Head>, Rest>[src]

pub fn push_arg<T>(self, arg: T) -> ArgumentList<Argument<T>, Self> where
    T: Encode
[src]

Pushes another argument to the argument list.

Trait Implementations

impl<Head: Debug, Rest: Debug> Debug for ArgumentList<Head, Rest>[src]

impl<'a, Head, Rest> Encode for ArgumentList<Argument<Head>, Rest> where
    Head: Encode,
    Rest: Encode
[src]

Auto Trait Implementations

impl<Head, Rest> RefUnwindSafe for ArgumentList<Head, Rest> where
    Head: RefUnwindSafe,
    Rest: RefUnwindSafe

impl<Head, Rest> Send for ArgumentList<Head, Rest> where
    Head: Send,
    Rest: Send

impl<Head, Rest> Sync for ArgumentList<Head, Rest> where
    Head: Sync,
    Rest: Sync

impl<Head, Rest> Unpin for ArgumentList<Head, Rest> where
    Head: Unpin,
    Rest: Unpin

impl<Head, Rest> UnwindSafe for ArgumentList<Head, Rest> where
    Head: UnwindSafe,
    Rest: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T, Global>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,