Trait nuts_bytes::FromBytes

source ·
pub trait FromBytes<E: TakeBytesError>where
    Self: Sized,{
    // Required method
    fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>;
}
Expand description

Trait that supports reading datatypes from a binary data stream.

Datatypes that implements this trait can be read from a binary data stream.

Required Methods§

source

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

Reads data from the given source.

Reads as much as necessary from source. The method deserializes the instance and returns it.

Errors

If not enough data are available in source, the TakeBytes::take_bytes() call returns a TakeBytesError::eof() error, which should be simply forwarded.

Custom errors can be defined in the E generic. See the TakeBytes implementation in String for an example.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<E: TakeBytesError> FromBytes<E> for bool

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for f32

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for f64

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for i8

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for i16

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for i32

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for i64

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for u8

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for u16

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for u32

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for u64

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError> FromBytes<E> for usize

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError, FB: Copy + Default + FromBytes<E>, const COUNT: usize> FromBytes<E> for [FB; COUNT]

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError, FB: FromBytes<E>> FromBytes<E> for Vec<FB>

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeBytesError, T: FromBytes<E>> FromBytes<E> for Option<T>

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeCharError> FromBytes<E> for char

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

source§

impl<E: TakeStringError> FromBytes<E> for String

Converts a byte stream into a string.

The assigned error type is derived from TakeStringError, so the string conversion can be invalid as well.

source§

fn from_bytes<TB: TakeBytes>(source: &mut TB) -> Result<Self, E>

Implementors§