PackTo

Trait PackTo 

Source
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§

Source

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§

Source

fn pack_to_be<W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Pack binary data into dst from a tuple, in BigEndian order.

§Example
use std::io::Cursor;
use byteorder_pack::PackTo;

let mut cursor = Cursor::new(vec![]);

(1u8, 2u8, 3u16, 4u16).pack_to_be(&mut cursor).unwrap();

assert_eq!(cursor.into_inner(), vec![0x01, 0x02, 0x00, 0x03, 0x00, 0x04]);
Source

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]);
Source

fn pack_multiple_to<E: ByteOrder, W: Write + ?Sized>( buf: &[Self], dst: &mut W, ) -> IoResult<()>

Pack multiple values into dest.

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 PackTo for f32

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for f64

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for i8

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl PackTo for i16

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for i32

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for i64

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for i128

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for u8

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

fn pack_multiple_to<E: ByteOrder, W: Write + ?Sized>( buf: &[Self], dst: &mut W, ) -> IoResult<()>

Source§

impl PackTo for u16

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for u32

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for u64

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl PackTo for u128

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, src: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo> PackTo for (T1,)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo> PackTo for (T1, T2)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo> PackTo for (T1, T2, T3)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo> PackTo for (T1, T2, T3, T4)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo> PackTo for (T1, T2, T3, T4, T5)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo> PackTo for (T1, T2, T3, T4, T5, T6)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo, T7: PackTo> PackTo for (T1, T2, T3, T4, T5, T6, T7)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo, T7: PackTo, T8: PackTo> PackTo for (T1, T2, T3, T4, T5, T6, T7, T8)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo, T7: PackTo, T8: PackTo, T9: PackTo> PackTo for (T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo, T7: PackTo, T8: PackTo, T9: PackTo, T10: PackTo> PackTo for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo, T7: PackTo, T8: PackTo, T9: PackTo, T10: PackTo, T11: PackTo> PackTo for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T1: PackTo, T2: PackTo, T3: PackTo, T4: PackTo, T5: PackTo, T6: PackTo, T7: PackTo, T8: PackTo, T9: PackTo, T10: PackTo, T11: PackTo, T12: PackTo> PackTo for (T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12)

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T: PackTo + Copy> PackTo for &[T]

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Source§

impl<T: PackTo + Copy, const N: usize> PackTo for [T; N]

Source§

fn pack_to<E: ByteOrder, W: Write + ?Sized>(self, dst: &mut W) -> IoResult<()>

Implementors§