pub trait SerdeInternal: Sized + Clone + PartialEq {
    // Required methods
    fn ser(&self, writer: &mut dyn BitWrite);
    fn de(reader: &mut BitReader<'_>) -> Result<Self, SerdeErr>;
    fn bit_length(&self) -> u32;
}
Expand description

A trait for objects that can be serialized to a bitstream.

Required Methods§

source

fn ser(&self, writer: &mut dyn BitWrite)

Serialize Self to a BitWriter

source

fn de(reader: &mut BitReader<'_>) -> Result<Self, SerdeErr>

Parse Self from a BitReader

source

fn bit_length(&self) -> u32

Return length of value in bits

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl Serde for bool

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<bool, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for char

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<char, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for f32

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<f32, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for f64

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<f64, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for i8

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<i8, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for i16

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<i16, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for i32

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<i32, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for i64

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<i64, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for isize

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<isize, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for u8

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<u8, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for u16

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<u16, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for u32

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<u32, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for u64

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<u64, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for ()

source§

fn ser(&self, _: &mut dyn BitWrite)

source§

fn de(_: &mut BitReader<'_>) -> Result<(), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for usize

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<usize, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for Box<[u8]>

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<Box<[u8]>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl Serde for String

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<String, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A> Serde for (A,)
where A: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A,), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B> Serde for (A, B)
where A: Serde, B: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C> Serde for (A, B, C)
where A: Serde, B: Serde, C: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B, C), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D> Serde for (A, B, C, D)
where A: Serde, B: Serde, C: Serde, D: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B, C, D), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E> Serde for (A, B, C, D, E)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B, C, D, E), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F> Serde for (A, B, C, D, E, F)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B, C, D, E, F), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F, G> Serde for (A, B, C, D, E, F, G)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde, G: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B, C, D, E, F, G), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F, G, H> Serde for (A, B, C, D, E, F, G, H)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde, G: Serde, H: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<(A, B, C, D, E, F, G, H), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F, G, H, I> Serde for (A, B, C, D, E, F, G, H, I)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde, G: Serde, H: Serde, I: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de( reader: &mut BitReader<'_> ) -> Result<(A, B, C, D, E, F, G, H, I), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F, G, H, I, J> Serde for (A, B, C, D, E, F, G, H, I, J)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde, G: Serde, H: Serde, I: Serde, J: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de( reader: &mut BitReader<'_> ) -> Result<(A, B, C, D, E, F, G, H, I, J), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F, G, H, I, J, K> Serde for (A, B, C, D, E, F, G, H, I, J, K)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde, G: Serde, H: Serde, I: Serde, J: Serde, K: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de( reader: &mut BitReader<'_> ) -> Result<(A, B, C, D, E, F, G, H, I, J, K), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<A, B, C, D, E, F, G, H, I, J, K, L> Serde for (A, B, C, D, E, F, G, H, I, J, K, L)
where A: Serde, B: Serde, C: Serde, D: Serde, E: Serde, F: Serde, G: Serde, H: Serde, I: Serde, J: Serde, K: Serde, L: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de( reader: &mut BitReader<'_> ) -> Result<(A, B, C, D, E, F, G, H, I, J, K, L), SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<K> Serde for HashSet<K>
where K: Serde + Eq + Hash,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<HashSet<K>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<K, V> Serde for HashMap<K, V>
where K: Serde + Eq + Hash, V: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<HashMap<K, V>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

impl<T> Serde for &[T]
where T: Serde,

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(_: &mut BitReader<'_>) -> Result<&[T], SerdeErr>

source§

fn bit_length(&self) -> u32

source§

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

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<Option<T>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

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

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<Box<T>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

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

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<VecDeque<T>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

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

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<Vec<T>, SerdeErr>

source§

fn bit_length(&self) -> u32

source§

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

source§

fn ser(&self, writer: &mut dyn BitWrite)

source§

fn de(reader: &mut BitReader<'_>) -> Result<[T; N], SerdeErr>

source§

fn bit_length(&self) -> u32

Implementors§