pub trait PackTo: Sized + Copy {
// Required method
fn pack_to<E: ByteOrder, W: Write + ?Sized>(
self,
dst: &mut W,
) -> IoResult<()>;
// Provided methods
fn pack_to_be<W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()> { ... }
fn pack_to_le<W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()> { ... }
fn pack_multiple_to<E: ByteOrder, W: Write + ?Sized>(
buf: &[Self],
dst: &mut W,
) -> IoResult<()> { ... }
}Expand description
Write a value into a Write.
Required Methods§
Sourcefn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>
fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>
Pack binary data into dst.
§Example
use std::io::Cursor;
use byteorder::BigEndian;
use byteorder_pack::PackTo;
let mut cursor = Cursor::new(vec![]);
(1u8, 2u8, 3u16, 4u16).pack_to::<BigEndian, _>(&mut cursor).unwrap();
assert_eq!(cursor.into_inner(), vec![0x01, 0x02, 0x00, 0x03, 0x00, 0x04]);Provided Methods§
Sourcefn pack_to_le<W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>
fn pack_to_le<W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>
Pack binary data into dst from a tuple, in LittleEndian order.
§Example
use std::io::Cursor;
use byteorder_pack::PackTo;
let mut cursor = Cursor::new(vec![]);
(1u8, 2u8, 3u16, 4u16).pack_to_le(&mut cursor).unwrap();
assert_eq!(cursor.into_inner(), vec![0x01, 0x02, 0x03, 0x00, 0x04, 0x00]);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.