pub trait SyscallEncodable<'a, Abi, EncodedType, Encoder>: Copywhere
    Abi: SyscallAbi + ?Sized,
    EncodedType: Copy,
    Encoder: SyscallEncoder<'a, Abi, EncodedType>,{
    // Required methods
    fn encode(&self, encoder: &mut Encoder) -> Result<(), EncodeError>;
    fn decode(decoder: &mut Encoder) -> Result<Self, DecodeError>
       where Self: Sized;
}
Expand description

Indicates that a type may be encoded using an encoder, and implements the method for encoding. May be derived.

Required Methods§

source

fn encode(&self, encoder: &mut Encoder) -> Result<(), EncodeError>

source

fn decode(decoder: &mut Encoder) -> Result<Self, DecodeError>where Self: Sized,

Implementations on Foreign Types§

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for isizewhere Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for u64where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for boolwhere Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for i32where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for usizewhere Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for i8where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for u32where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for u128where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for ()where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for u8where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for u16where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for i128where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for i16where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for i64where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

Implementors§

source§

impl<'a, Abi, EncodedType, Encoder, T> SyscallEncodable<'a, Abi, EncodedType, Encoder> for UserPointer<'a, T>where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>, T: Copy,

source§

impl<'a, Abi, EncodedType, Encoder, T> SyscallEncodable<'a, Abi, EncodedType, Encoder> for UserSlice<'a, T>where Abi: SyscallAbi, EncodedType: Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>, T: Copy,

source§

impl<'a, Err, Abi, EncodedType> SyscallEncodable<'a, Abi, EncodedType, <Abi as SyscallAbi>::RetEncoder<'a>> for SyscallError<Err>where Err: SyscallEncodable<'a, Abi, EncodedType, <Abi as SyscallAbi>::RetEncoder<'a>>, Abi: SyscallAbi, EncodedType: Copy, <Abi as SyscallAbi>::RetEncoder<'a>: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, T, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for Option<T>where Abi: SyscallAbi, EncodedType: Copy, T: SyscallEncodable<'a, Abi, EncodedType, Encoder> + Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,

source§

impl<'a, T, E, Abi, EncodedType, Encoder> SyscallEncodable<'a, Abi, EncodedType, Encoder> for Result<T, E>where Abi: SyscallAbi, EncodedType: Copy, T: SyscallEncodable<'a, Abi, EncodedType, Encoder> + Copy, E: SyscallEncodable<'a, Abi, EncodedType, Encoder> + Copy, Encoder: SyscallEncoder<'a, Abi, EncodedType>,