Trait nanoserde::DeBin

source ·
pub trait DeBin: Sized {
    // Required method
    fn de_bin(offset: &mut usize, bytes: &[u8]) -> Result<Self, DeBinErr>;

    // Provided method
    fn deserialize_bin(d: &[u8]) -> Result<Self, DeBinErr> { ... }
}
Expand description

A trait for objects that can be deserialized from binary.

Required Methods§

source

fn de_bin(offset: &mut usize, bytes: &[u8]) -> Result<Self, DeBinErr>

Parse Self from the input bytes starting at index offset.

After deserialization, offset is updated to point at the byte after the last one used.

let bytes = [1, 0, 0, 0, 2, 0, 0, 0];
let mut offset = 4;
let two = u32::de_bin(&mut offset, &bytes).unwrap();
assert_eq!(two, 2);
assert_eq!(offset, 8);

Provided Methods§

source

fn deserialize_bin(d: &[u8]) -> Result<Self, DeBinErr>

Parse Self from the input bytes.

This is a convenient wrapper around de_bin.

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl DeBin for bool

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<bool, DeBinErr>

source§

impl DeBin for f32

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<f32, DeBinErr>

source§

impl DeBin for f64

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<f64, DeBinErr>

source§

impl DeBin for i8

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<i8, DeBinErr>

source§

impl DeBin for i16

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<i16, DeBinErr>

source§

impl DeBin for i32

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<i32, DeBinErr>

source§

impl DeBin for i64

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<i64, DeBinErr>

source§

impl DeBin for i128

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<i128, DeBinErr>

source§

impl DeBin for u8

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<u8, DeBinErr>

source§

impl DeBin for u16

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<u16, DeBinErr>

source§

impl DeBin for u32

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<u32, DeBinErr>

source§

impl DeBin for u64

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<u64, DeBinErr>

source§

impl DeBin for u128

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<u128, DeBinErr>

source§

impl DeBin for ()

source§

fn de_bin(_o: &mut usize, _d: &[u8]) -> Result<Self, DeBinErr>

source§

impl DeBin for usize

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<usize, DeBinErr>

source§

impl DeBin for String

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<String, DeBinErr>

source§

impl<A, B> DeBin for (A, B)
where A: DeBin, B: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<(A, B), DeBinErr>

source§

impl<A, B, C> DeBin for (A, B, C)
where A: DeBin, B: DeBin, C: DeBin,

source§

impl<A, B, C, D> DeBin for (A, B, C, D)
where A: DeBin, B: DeBin, C: DeBin, D: DeBin,

source§

impl<K, V> DeBin for HashMap<K, V>
where K: DeBin + Eq + Hash, V: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<Self, DeBinErr>

source§

impl<T> DeBin for Option<T>
where T: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<Option<T>, DeBinErr>

source§

impl<T> DeBin for Box<T>
where T: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<Box<T>, DeBinErr>

source§

impl<T> DeBin for BTreeSet<T>
where T: DeBin + Ord,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<BTreeSet<T>, DeBinErr>

source§

impl<T> DeBin for LinkedList<T>
where T: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<LinkedList<T>, DeBinErr>

source§

impl<T> DeBin for Vec<T>
where T: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<Vec<T>, DeBinErr>

source§

impl<T> DeBin for HashSet<T>
where T: DeBin + Hash + Eq,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<HashSet<T>, DeBinErr>

source§

impl<T, const N: usize> DeBin for [T; N]
where T: DeBin,

source§

fn de_bin(o: &mut usize, d: &[u8]) -> Result<Self, DeBinErr>

Implementors§