pub trait ByteWriter: Sized {
    // Required methods
    fn write_u8(&mut self, value: u8);
    fn write_bytes(&mut self, values: &[u8]);

    // Provided methods
    fn write_bool(&mut self, val: bool) { ... }
    fn write_u16(&mut self, value: u16) { ... }
    fn write_u32(&mut self, value: u32) { ... }
    fn write_u64(&mut self, value: u64) { ... }
    fn write_u128(&mut self, value: u128) { ... }
    fn write_usize(&mut self, value: usize) { ... }
    fn write<S>(&mut self, value: S)
       where S: Serializable { ... }
    fn write_many<S>(&mut self, elements: &[S])
       where S: Serializable { ... }
}
Expand description

Defines how primitive values are to be written into Self.

Required Methods§

fn write_u8(&mut self, value: u8)

Writes a single byte into self.

§Panics

Panics if the byte could not be written into self.

fn write_bytes(&mut self, values: &[u8])

Writes a sequence of bytes into self.

§Panics

Panics if the sequence of bytes could not be written into self.

Provided Methods§

fn write_bool(&mut self, val: bool)

Writes a boolean value into self.

A boolean value is written as a single byte.

§Panics

Panics if the value could not be written into self.

fn write_u16(&mut self, value: u16)

Writes a u16 value in little-endian byte order into self.

§Panics

Panics if the value could not be written into self.

fn write_u32(&mut self, value: u32)

Writes a u32 value in little-endian byte order into self.

§Panics

Panics if the value could not be written into self.

fn write_u64(&mut self, value: u64)

Writes a u64 value in little-endian byte order into self.

§Panics

Panics if the value could not be written into self.

fn write_u128(&mut self, value: u128)

Writes a u128 value in little-endian byte order into self.

§Panics

Panics if the value could not be written into self.

fn write_usize(&mut self, value: usize)

Writes a usize value in vint64 format into self.

§Panics

Panics if the value could not be written into self.

fn write<S>(&mut self, value: S)
where S: Serializable,

Writes a serializable value into self.

§Panics

Panics if the value could not be written into self.

fn write_many<S>(&mut self, elements: &[S])
where S: Serializable,

Serializes all elements and writes the resulting bytes into self.

This method does not write any metadata (e.g. number of serialized elements) into self.

Object Safety§

This trait is not object safe.

Implementors§

§

impl ByteWriter for Vec<u8>