pub trait Writer {
    // Required method
    fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>;

    // Provided method
    fn write_to_bytes(&self) -> Result<ByteWriter, Error> { ... }
}
Expand description

Allows you to write to a ByteWriter without needing to know the type.

use binary_util::io::{ByteWriter, Writer};

pub struct MyStruct {
  pub a: u8,
  pub b: u8
}

impl Writer for MyStruct {
    fn write(&self, buf: &mut ByteWriter) -> Result<(), std::io::Error> {
        buf.write_u8(self.a)?;
        buf.write_u8(self.b)?;
        Ok(());
    }
}

Required Methods§

source

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

Writes Self to a ByteWriter.

For automatic implementations, use #[derive(BinaryEncoder] macro.

Provided Methods§

source

fn write_to_bytes(&self) -> Result<ByteWriter, Error>

This is a utility function to write Self to a ByteWriter without needing to create a ByteWriter first.

Implementations on Foreign Types§

source§

impl<T> Writer for Option<T>where T: Writer + Sized,

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for u32

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for u128

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for u8

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for char

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for &str

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for i32

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for i64

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for SocketAddr

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for bool

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for f64

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for u64

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for f32

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for i16

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for String

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for i8

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for u16

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl Writer for i128

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

source§

impl<T> Writer for Vec<T>where T: Writer + Sized,

source§

fn write(&self, buf: &mut ByteWriter) -> Result<(), Error>

Implementors§