Trait Encode

Source
pub unsafe trait Encode<E: ?Sized>: Encodable {
    // Required method
    fn encode(
        &mut self,
        encoder: &mut E,
        out: &mut MaybeUninit<Self::Encoded>,
    ) -> Result<(), EncodeError>;
}
Expand description

Encodes a value.

§Safety

encode must initialize all non-padding bytes of out.

Required Methods§

Source

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Encodes this value into an encoder and output.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<E: Encoder + ?Sized> Encode<E> for String

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: Encoder + ?Sized, T: Encode<E>> Encode<E> for Vec<T>

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: HandleEncoder + ?Sized> Encode<E> for Channel

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: HandleEncoder + ?Sized> Encode<E> for Handle

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for bool

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for f32

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for f64

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for i8

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for i16

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for i32

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for i64

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for u8

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for u16

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for u32

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for u64

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized> Encode<E> for ()

Source§

fn encode( &mut self, _: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized, T: Encode<E>> Encode<E> for Box<T>

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized, T: Encode<E>, const N: usize> Encode<E> for [T; N]

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E: ?Sized, T: EncodeOption<E>> Encode<E> for Option<T>

Source§

fn encode( &mut self, encoder: &mut E, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<Enc, T, E> Encode<Enc> for Result<T, E>
where Enc: Encoder + ?Sized, T: Encode<Enc>, E: Encode<Enc>,

Source§

fn encode( &mut self, encoder: &mut Enc, out: &mut MaybeUninit<Self::Encoded>, ) -> Result<(), EncodeError>

Implementors§

Source§

impl<E: ?Sized> Encode<E> for WireF32

Source§

impl<E: ?Sized> Encode<E> for WireF64

Source§

impl<E: ?Sized> Encode<E> for WireI16

Source§

impl<E: ?Sized> Encode<E> for WireI32

Source§

impl<E: ?Sized> Encode<E> for WireI64

Source§

impl<E: ?Sized> Encode<E> for WireU16

Source§

impl<E: ?Sized> Encode<E> for WireU32

Source§

impl<E: ?Sized> Encode<E> for WireU64