EncodeRef

Trait EncodeRef 

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

Encodes a reference.

§Safety

encode must initialize all non-padding bytes of out.

Required Methods§

Source

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

Encodes this reference 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> EncodeRef<E> for bool
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for f32
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for f64
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for i8
where E: ?Sized,

Source§

fn encode_ref( &self, _: &mut E, out: &mut MaybeUninit<<i8 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E> EncodeRef<E> for i16
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for i32
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for i64
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for u8
where E: ?Sized,

Source§

fn encode_ref( &self, _: &mut E, out: &mut MaybeUninit<<u8 as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E> EncodeRef<E> for u16
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for u32
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for u64
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for ()
where E: ?Sized,

Source§

fn encode_ref( &self, _: &mut E, out: &mut MaybeUninit<<() as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E> EncodeRef<E> for String
where E: Encoder + ?Sized,

Source§

fn encode_ref( &self, encoder: &mut E, out: &mut MaybeUninit<<String as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E> EncodeRef<E> for WireEpitaph
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireMessageHeader
where E: ?Sized,

Source§

impl<E, T> EncodeRef<E> for Option<T>
where T: EncodeOptionRef<E>, E: ?Sized,

Source§

fn encode_ref( &self, encoder: &mut E, out: &mut MaybeUninit<<Option<T> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

impl<E, T> EncodeRef<E> for Box<T>
where T: EncodeRef<E>, E: ?Sized,

Source§

fn encode_ref( &self, encoder: &mut E, out: &mut MaybeUninit<<Box<T> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encode_ref( &self, encoder: &mut E, out: &mut MaybeUninit<<Vec<T> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encode_ref( &self, encoder: &mut E, out: &mut MaybeUninit<<[T; N] as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Source§

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

Source§

fn encode_ref( &self, encoder: &mut Enc, out: &mut MaybeUninit<<Result<T, E> as Encodable>::Encoded>, ) -> Result<(), EncodeError>

Implementors§

Source§

impl<E> EncodeRef<E> for FrameworkError
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireF32
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireF64
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireI16
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireI32
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireI64
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireU16
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireU32
where E: ?Sized,

Source§

impl<E> EncodeRef<E> for WireU64
where E: ?Sized,

Source§

impl<E, P, T> EncodeRef<E> for ClientEnd<P, T>
where P: 'static, T: EncodeRef<E>, E: ?Sized,

Source§

impl<E, P, T> EncodeRef<E> for ServerEnd<P, T>
where P: 'static, T: EncodeRef<E>, E: ?Sized,

Source§

impl<E, T> EncodeRef<E> for Flexible<T>
where E: Encoder + ?Sized, T: EncodeRef<E>,

Source§

impl<Enc, T, E> EncodeRef<Enc> for FlexibleResult<T, E>
where Enc: Encoder + ?Sized, T: EncodeRef<Enc>, E: EncodeRef<Enc>,