U8Packer

Trait U8Packer 

Source
pub trait U8Packer {
    // Required methods
    fn pack_u8(first: u8, second: u8) -> Self;
    fn unpack_u8(&self) -> (u8, u8);
}
Expand description

Trait for packing and unpacking two u8 values into a single value.

Required Methods§

Source

fn pack_u8(first: u8, second: u8) -> Self

Packs two u8 values into a single value of the implementing type.

§Example
use num_packer::U8Packer;
let packed = u16::pack_u8(200, 55);
assert_eq!(packed, (200 << 8) + 55);
Source

fn unpack_u8(&self) -> (u8, u8)

Unpacks the single value back into two u8 values.

§Example
use num_packer::U8Packer;
let packed = u16::pack_u8(200, 55);
let (first, second) = packed.unpack_u8();
assert_eq!((first, second), (200, 55));

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 U8Packer for i16

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for i32

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for i64

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for isize

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for u16

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for u32

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for u64

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Source§

impl U8Packer for usize

Source§

fn pack_u8(first: u8, second: u8) -> Self

Source§

fn unpack_u8(&self) -> (u8, u8)

Implementors§