Skip to main content

Encode

Trait Encode 

Source
pub trait Encode {
    // Required methods
    fn encode_size(&self) -> usize;
    fn encode(&self, writer: &mut impl Encoder) -> Result<()>;
    async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>;
}

Required Methods§

Source

fn encode_size(&self) -> usize

Source

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

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 Encode for &str

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for bool

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for f32

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for f64

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for i8

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for i16

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for i32

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for i64

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for i128

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for isize

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for u8

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for u16

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for u32

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for u64

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for u128

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for ()

Source§

async fn encode_async(&self, _: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, _: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for usize

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl Encode for String

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<K> Encode for BTreeSet<K>
where K: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<K> Encode for HashSet<K>
where K: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<K, V> Encode for BTreeMap<K, V>
where K: Encode, V: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<K, V> Encode for HashMap<K, V>
where K: Encode, V: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1> Encode for (T0, T1)
where T0: Encode, T1: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2> Encode for (T0, T1, T2)
where T0: Encode, T1: Encode, T2: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3> Encode for (T0, T1, T2, T3)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4> Encode for (T0, T1, T2, T3, T4)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5> Encode for (T0, T1, T2, T3, T4, T5)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6> Encode for (T0, T1, T2, T3, T4, T5, T6)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7> Encode for (T0, T1, T2, T3, T4, T5, T6, T7)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T0, T1, T2, T3, T4, T5, T6, T7, T8, T9> Encode for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
where T0: Encode, T1: Encode, T2: Encode, T3: Encode, T4: Encode, T5: Encode, T6: Encode, T7: Encode, T8: Encode, T9: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for Option<T>
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for [T]
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for Box<T>
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for BinaryHeap<T>
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for LinkedList<T>
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for VecDeque<T>
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for Vec<T>
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T> Encode for PhantomData<T>

Source§

async fn encode_async(&self, _: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, _: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T, E> Encode for Result<T, E>
where T: Encode, E: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Source§

impl<T, const N: usize> Encode for [T; N]
where T: Encode,

Source§

async fn encode_async(&self, writer: &mut impl AsyncEncoder) -> Result<()>

Source§

fn encode(&self, writer: &mut impl Encoder) -> Result<()>

Source§

fn encode_size(&self) -> usize

Implementors§