Trait lain::traits::BinarySerialize[][src]

pub trait BinarySerialize {
    fn binary_serialize<W: Write, E: ByteOrder>(&self, buffer: &mut W) -> usize;
}

Represents a data typethat can be pushed to a byte buffer in a constant, predetermined way.

Required methods

fn binary_serialize<W: Write, E: ByteOrder>(&self, buffer: &mut W) -> usize[src]

Pushes all fields in self to a buffer

Loading content...

Implementations on Foreign Types

impl<T> BinarySerialize for Vec<T> where
    T: BinarySerialize
[src]

impl BinarySerialize for bool[src]

impl BinarySerialize for i8[src]

impl BinarySerialize for u8[src]

impl BinarySerialize for [u8][src]

impl<T> BinarySerialize for [T] where
    T: BinarySerialize
[src]

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

impl BinarySerialize for String[src]

impl BinarySerialize for &str[src]

This probably could and should be on a generic impl where T: Deref, but currently this causes a specialization issue since other crates could impl Deref<Target=T> for bool (specifically) in the future. See: https://github.com/rust-lang/rust/issues/45542

impl BinarySerialize for *const c_void[src]

impl BinarySerialize for *mut c_void[src]

impl<T> BinarySerialize for Option<T> where
    T: BinarySerialize
[src]

impl<T> BinarySerialize for Box<T> where
    T: BinarySerialize
[src]

impl BinarySerialize for i64[src]

impl BinarySerialize for u64[src]

impl BinarySerialize for i32[src]

impl BinarySerialize for u32[src]

impl BinarySerialize for i16[src]

impl BinarySerialize for u16[src]

impl BinarySerialize for f32[src]

impl BinarySerialize for f64[src]

Loading content...

Implementors

impl<T, I> BinarySerialize for UnsafeEnum<T, I> where
    T: BinarySerialize,
    I: BinarySerialize + Clone
[src]

Loading content...