Trait Flat

Source
pub trait Flat: Sized {
    // Required methods
    fn serialize(&self) -> Vec<u8> ;
    fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>;

    // Provided method
    fn deserialize(data: &[u8]) -> Option<Self> { ... }
}

Required Methods§

Source

fn serialize(&self) -> Vec<u8>

Source

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Provided Methods§

Source

fn deserialize(data: &[u8]) -> Option<Self>

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 Flat for bool

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for i8

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for i16

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for i32

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for i64

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for u8

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for u16

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for u32

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl Flat for u64

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 0]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(_data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 1]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 2]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 3]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 4]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 5]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 6]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 7]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 8]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 9]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 10]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 11]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 12]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 13]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 14]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 15]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 16]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 17]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 18]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 19]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 20]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 21]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 22]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 23]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 24]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 25]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 26]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 27]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 28]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 29]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 30]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 31]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Source§

impl<T: Flat> Flat for [T; 32]

Source§

fn serialize(&self) -> Vec<u8>

Source§

fn deserialize_with_size(data: &[u8]) -> Option<(Self, usize)>

Implementors§