num_traits::ops::bytes

Trait FromBytes

Source
pub trait FromBytes: Sized {
    type Bytes: NumBytes + ?Sized;

    // Required methods
    fn from_be_bytes(bytes: &Self::Bytes) -> Self;
    fn from_le_bytes(bytes: &Self::Bytes) -> Self;

    // Provided method
    fn from_ne_bytes(bytes: &Self::Bytes) -> Self { ... }
}

Required Associated Types§

Source

type Bytes: NumBytes + ?Sized

Required Methods§

Source

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Create a number from its representation as a byte array in big endian.

§Examples
use num_traits::FromBytes;

let value: u32 = FromBytes::from_be_bytes(&[0x12, 0x34, 0x56, 0x78]);
assert_eq!(value, 0x12345678);
Source

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Create a number from its representation as a byte array in little endian.

§Examples
use num_traits::FromBytes;

let value: u32 = FromBytes::from_le_bytes(&[0x78, 0x56, 0x34, 0x12]);
assert_eq!(value, 0x12345678);

Provided Methods§

Source

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Create a number from its memory representation as a byte array in native endianness.

As the target platform’s native endianness is used, portable code likely wants to use from_be_bytes or from_le_bytes, as appropriate instead.

§Examples
use num_traits::FromBytes;

#[cfg(target_endian = "big")]
let bytes = [0x12, 0x34, 0x56, 0x78];

#[cfg(target_endian = "little")]
let bytes = [0x78, 0x56, 0x34, 0x12];

let value: u32 = FromBytes::from_ne_bytes(&bytes);
assert_eq!(value, 0x12345678)

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

Source§

type Bytes = [u8; 4]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for f64

Source§

type Bytes = [u8; 8]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for i8

Source§

type Bytes = [u8; 1]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for i16

Source§

type Bytes = [u8; 2]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for i32

Source§

type Bytes = [u8; 4]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for i64

Source§

type Bytes = [u8; 8]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for i128

Source§

type Bytes = [u8; 16]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for isize

Source§

type Bytes = [u8; 4]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for u8

Source§

type Bytes = [u8; 1]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for u16

Source§

type Bytes = [u8; 2]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for u32

Source§

type Bytes = [u8; 4]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for u64

Source§

type Bytes = [u8; 8]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for u128

Source§

type Bytes = [u8; 16]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Source§

impl FromBytes for usize

Source§

type Bytes = [u8; 4]

Source§

fn from_be_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_le_bytes(bytes: &Self::Bytes) -> Self

Source§

fn from_ne_bytes(bytes: &Self::Bytes) -> Self

Implementors§